UITextView selectedTextColor или подобный вариант? - PullRequest
5 голосов
/ 23 января 2010

У меня есть пользовательский UITableViewCell с UILabel и UITextView.

Я хочу, чтобы текст для обоих из них отображался белым, когда пользователь выделяет UITableViewCell. Очевидно, очень просто установить highlightedTextColor из UILabel, но UITextView, похоже, не обладает подобным типом свойства. Мне придется вручную менять цвет UITextView всякий раз, когда ячейка становится подсвеченной / невысвеченной, или есть ли более простой способ сделать это?

Спасибо!

Ответы [ 2 ]

9 голосов
/ 23 января 2010

Нашел, и это было намного проще, чем я думал. Просто нужно использовать метод 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]]; 
    }

}
2 голосов
/ 24 мая 2012

Решение, опубликованное автором, наполовину подходит для моей ситуации. Необходимо учитывать, что происходят следующие события:

  1. нажмите вниз -> setHighlighted: ДА анимированный: называется
  2. нажмите вверх -> setHighlighted: анимация не называется
  3. установить выбор -> setSelected: ДА анимированный называется

Зная это, и в зависимости от того, как вы хотите, чтобы TableCell выглядел, когда выделено и когда выбрано, определит, нужно ли вам реализовать setHighlighted: animated :, setSelected: animated: или оба метода.

Для желаемого вида мне нужно реализовать оба метода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...