iphone - UITableViewCell 标签 opaque=YES 单击单元格时看起来很糟糕

标签 iphone uitableview uilabel

我希望我的表格单元格能够快速加载,因此我将单元格内的所有 UILabel 设置为不透明=YES;这很好,因为我也将背景设置为白色,看起来很正常。

当您单击单元格时,问题就出现了,因为这些标签的背景是白色,所以在尝试突出显示单元格时,选择的蓝色颜色看起来很糟糕。有解决办法吗?将这些单元格的背景颜色设置为clearColor是否会破坏设置不透明的目的?

最佳答案

有件事你必须考虑。首先,将标签设置为不透明绝对是获得良好滚动性能的正确方法。

正确的方法是声明 UITableViewCell 的子类,并像这样覆盖 setBackgroundColor 方法,并将背景颜色转发给单元格的每个元素:

- (void) setBackgroundColor:(UIColor *)color {
    [super setBackgroundColor:color];
    [titleLabel setBackgroundColor:color];
    [imageView setBackgroundColor:color];
    [timeLabel setBackgroundColor:color];
}

我将其用作定义表格 View 单元格的 XIB 文件的所有者,并将 UI 元素连接到此自定义子类中的 socket 。

关于iphone - UITableViewCell 标签 opaque=YES 单击单元格时看起来很糟糕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5542601/

相关文章:

ios - 从点击获取 UILabel 中的字符索引

ios - 获取点击的 UILabel 的值

iPhone - 使用CGContextShowTextAtPoint绘制特殊字符

ios - 从 iOS 可操作通知交叉启动其他应用程序

iphone - iPhone的Obj-C程序中的问题Exc_Arithmetic

iphone - 抓取音频

iphone - 如何从非 navcontroller View 打开 navcontroller?

ios - 如何在swift 3中设置Pan Gesture Limit

iphone - UITableView 无法从数组中获取数据

ios - 将委托(delegate)和数据源设置为 UITableView