关于UITableViewCell

郭意
2023-12-01

1、修改UITableViewCell的backgroundColor

错误方式:在cell创建的时候直接设置backgroundColor,不能起到应有的效果。

错误原因:有一个2009年或者2010的WWDC视频提到了这个问题。tableview会调整背景来管理cells的选择状态,这就是为什么你能且只能在willDisplayCell这个方法里面修改它的实现的原因。

正确方式:在如下方法中设置

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath

{

    cell.backgroundColor =[UIColor redColor];

}

注:同理可在这里自定义selectedBackgroundView

cell.selectedBackgroundView.backgroundColor = [UIColorredColor];

若selectedBackgroundView为nil,则需要先创建。


2、cell.contentView.backgroundColor

cell.contentView是cell的subview,一般设置如下:

cell.contentView.backgroundColor为[UIColor clearColor]


3、cell.backgroundView一般不需重新赋值,否则在编辑模式可能会出现意想不到的问题,比如删除键不能正常显示。

 类似资料: