我正在开发一些带有自定义 UITableViewCells 的应用程序。我有一个用于单元格的笔尖,我只使用一个单元格标识符。
在 cellForRowAtIndexPath 我有一些这样的代码:
_spot.text = [NSString stringWithFormat:@"%d.", [forecastRow.position intValue]];
if([[forecastRow prob1] floatValue] > 0.5){
_spot.textColor = [UIColor redColor];
}
其中 _spot 是 UILabel 的 UBOutlet。事实是数字显示正确,颜色首先分配给适当的单元格。但是,当我滚动时,数字保持正常,但红色被随机分配给其他单元格上的 _spot 标签,而不是在整个表格中传递 if() 。
发生了什么?为什么文字正确,但颜色不正确?为什么这只会在滚动时搞砸?我认为解决方案不是为这样的小任务使用多个标识符和笔尖(更改 UILabel 颜色),因为我需要根据复杂的条件为行的标签分配多个不同的颜色。