Изменить цвет текста всех ячеек в табличном представлении - PullRequest
1 голос
/ 07 августа 2011

Есть ли способ изменить цвет текста во ВСЕХ ячейках в табличном представлении? Я смотрел это раньше, и он говорит только о способах изменить цвет текста одной ячейки. И мое приложение не имеет установленного количества ячеек, так что это не сработает.

Ответы [ 4 ]

5 голосов
/ 07 августа 2011

In:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

Do:

cell.textLabel.textColor = [UIColor greenColor];
1 голос
/ 07 августа 2011

Это можно сделать одним из двух способов:

  1. Реализация пользовательского подкласса UITableViewCell, который устанавливает для textColor метки желаемый цвет.

  2. Изменение textColor внутри cellForRowAtIndexPath.Просто вставьте следующий код куда-нибудь перед ячейкой возврата:

    cell.textLabel.textColor = [UIColor redColor];
    
1 голос
/ 07 августа 2011

Вы можете сделать это с помощью свойства textLabel UITableViewCell.Но вы не можете изменить размер фрейма textLabel.

cell.textLabel.textColor = [UIColor blackColor];

Чтобы изменить размер фрейма и прочее, вам нужно создать UILabel и присвоить ему правильный фрейм, цвет и текст, а затем добавитьэто как SubView.

[cell.contentView addSubview: myLabel];

Для этого подхода обязательно позаботьтесь о проблемах повторного использования (вам нужно будет создать подкласс UITableViewCells и создать CustomUITableViewCells).

0 голосов
/ 05 февраля 2013

Если вы хотите избежать метода делегата и динамически изменять видимые строки ...

Попробуйте это:

NSEnumerator *e = [[self.tableView indexPathsForVisibleRows] objectEnumerator];
id object;
while (object = [e nextObject]) {
    UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:object];
    cell.textLabel.textColor = [UIColor grayColor];
}

Работает как шарм.

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