在自定义UITableViewCell上绘制选定状态

Bri*_*ian 0 iphone uitableview uikit drawrect

我有一个客户,UITableViewCell其中显示了整个显示drawRect.当它绘制时,它会创建,CGLayers以便在更改某些内容时可以重用某些部分.

我已将我更改UITableViewCellSelectionStyle为"无",因为我不希望默认的选定视图覆盖我的绘图.

我的问题是我打电话setNeedsDisplaysetSelected:animated:我的细胞,而是由时间drawRect被调用时,setSelected:animated:已再次呼吁取消选择的单元格.在我的表视图控制器中didSelectRowAtIndexPath,我打电话给deselectRowAtIndexPathApple建议.

编辑 - 我也尝试从我的表视图控制器调用我的单元格上的setNeedsDisplay,(NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath但这并没有改变任何东西.

有任何想法吗?谢谢.

Noa*_*oon 5

使用表格单元格的selectedBackgroundView属性.如果您为其指定自定义视图,它将与默认选择背景同时显示和隐藏 - 换句话说,无需等待setNeedsDisplay绕过调用drawRect:单元格本身.