我希望我的表格单元格加载速度快,所以我将单元格内的所有UILabel设置为不透明= YES;这很好,因为我还将背景设置为白色,看起来很正常。
单击单元格时出现问题,因为这些标签的背景为白色,尝试突出显示单元格时,蓝色选择的颜色看起来非常糟糕。有没有解决这个问题?将这些单元格的背景颜色设置为clearColor只会破坏设置不透明的目的吗?
答案 0 :(得分:3)
你需要考虑一些事情。首先,将标签设置为不透明绝对是获得良好滚动性能的正确方法。
执行此操作的正确方法是声明UITableViewCell
的子类并覆盖此类的setBackgroundColor方法,并将背景颜色转发到单元格的每个元素:
- (void) setBackgroundColor:(UIColor *)color {
[super setBackgroundColor:color];
[titleLabel setBackgroundColor:color];
[imageView setBackgroundColor:color];
[timeLabel setBackgroundColor:color];
}
我使用它作为文件的XIB的所有者,其中定义了tableview单元格,并将UI元素连接到此自定义子类中的出口。