我有一个自定义UITableViewCell
,其中包含UILabel
和UITextView
。
当用户突出显示UITableViewCell
时,我希望这两个文本都显示为白色。设置highlightedTextColor
的{{1}}显然非常简单,但UILabel
似乎没有任何类似的属性。每当单元格突出显示/未突出显示时,我是否必须手动更改UITextView
的颜色,或者是否有更简单的方法来完成此操作?
谢谢!
答案 0 :(得分:9)
找到它并且比我想象的容易得多。只需使用UITableViewCell
setHighlighted
方法。
- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated {
[super setHighlighted:highlighted animated:animated];
if (highlighted) {
[self.myTextView setTextColor:[UIColor whiteColor]];
} else {
[self.myTextView setTextColor:[UIColor blackColor]];
}
}
答案 1 :(得分:2)
作者发布的解决方案对我的情况来说是正确的。需要记住以下事件发生:
了解这一点,并且取决于你希望TableCell在高亮时看起来与选择时相比将决定你是否需要实现setHighlighted:animated:,setSelected:animated:或两种方法。
对于我想要的外观,我需要实现这两种方法。