我有一个基于Storyboard Prototype单元格的自定义UITableViewCell
。在我的自定义单元格类中,我根据单元状态“选中”或“突出显示”为单元格着色,代码如下所示:
- (void)updateCellDisplay {
if (self.selected || self.highlighted) {
self.label.textColor = [UIColor whiteColor];
self.backgroundColor = [UIColor myLightBlueColor];
} else {
self.label.textColor = [UIColor blackColor];
self.backgroundColor = [UIColor whiteColor];
}
}
- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated {
[super setHighlighted:highlighted animated:animated];
[self updateCellDisplay];
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:animated];
[self updateCellDisplay];
}
现在我对iOS7有这种奇怪的行为,在选择结束后,单元格将自己重绘为蓝色。标签不再可见。它看起来像是一个覆盖所有东西的前景色。这适用于iOS7之前的所有iOS版本。
那可能是什么?
答案 0 :(得分:0)
似乎单元格的contentView高于内容。我有一个类似的问题,并通过在cellForRowAtIndexPath中的contentView中添加我的自定义项来解决它。
在我的情况下,由于contentView已经结束,所以这些项目没有接收到触摸。
[[cell contentView] addSubview:cell.itemTitleView]
我希望它有所帮助。