我正在实施UITableViewDelegate
并UITableViewDataSource
在我的 VC 中。
我有这个代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:
(NSIndexPath *) indexPath {
// do stuff
if(condition){
cell.textLabel.backgroundColor = [UIColor redColor];
}
else {
cell.textLabel.backgroundColor = [UIColor blackColor];
}
}
很标准的东西。我遇到的问题是第一组可见单元格没有着色。如果我滚动到不可见的单元格,我会得到正确颜色的单元格。如果我向后滚动,我的单元格是彩色的。
我知道单元格是根据需要“创建”和“销毁”的,这解释了其中的一些原因,我只是不明白为什么cellForRowAtIndexPath
,在我看到任何东西之前就被解雇了,并且我的着色条件被击中,导致......没有着色。
一种解决方法是在调用表格视图后遍历可见单元格reloadData
,我只是希望有一种更简单的方法。
丹麦人