UITextView highlightTextColor或类似选项?

时间:2010-01-23 02:00:01

标签: iphone objective-c uitableview uitextview

我有一个自定义UITableViewCell,其中包含UILabelUITextView

当用户突出显示UITableViewCell时,我希望这两个文本都显示为白色。设置highlightedTextColor的{​​{1}}显然非常简单,但UILabel似乎没有任何类似的属性。每当单元格突出显示/未突出显示时,我是否必须手动更改UITextView的颜色,或者是否有更简单的方法来完成此操作?

谢谢!

2 个答案:

答案 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)

作者发布的解决方案对我的情况来说是正确的。需要记住以下事件发生:

  1. 按下 - > setHighlighted:YES动画:名为
  2. 按下 - > setHighlighted:没有动画称为
  3. 设置选择 - > setSelected:YES动画称为
  4. 了解这一点,并且取决于你希望TableCell在高亮时看起来与选择时相比将决定你是否需要实现setHighlighted:animated:,setSelected:animated:或两种方法。

    对于我想要的外观,我需要实现这两种方法。