2013-09-07 2 views
1

У меня есть статические ячейки и вы хотите изменить цвет текста. Я сделал выход для этикетки. В реализации я использую sine.textColor=[UIColor colorWithRed:191 green:48 blue:48 alpha:1.0];Настройка цвета текста на статическом UITableViewCell

  1. В этом случае цвет текста показывает белый. Однако, если я использую sine.textColor=[UIColor redColor];, он выглядит красным, как ожидалось. Как?

  2. Есть ли способ изменить все текстовые метки в одном контроллере таблицы с одним кодом (так что мне не нужна розетка для каждой ячейки)?

ответ

2

1) UIColor требует float от 0-1. (Это действительно ошибки мне тоже) можно разделить значения на 255,0, как:

[UIColor colorWithRed:191.0f/255.0f green:48/255.0f blue:48/255.0f alpha:1.0] 

В методе

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

набор cell.textColor = [UIColor yourColor];

+0

1.I've сделал, как вы сказали, но теперь мне говорит, что '.textColor' осуждались в прошивке 3.0, поэтому, когда я пытаюсь запустить его, он падает с SIGABRT. 2. Должен ли я сделать на выходе из TableView или еще что-нибудь? – KeVal

+0

Вы должны выполнять '[[cell detailTextLabel] setTextColor: [UIColor yourColor]];' и '[[cell textLabel] setTextColor: [UIColor yourColor]];', а не '[cell setTextColor: ...];' as это уже давно устарело. – Popeye

+0

ОК хорошо работает. Кроме того, мне пришлось сделать код похожим: 'cell.textLabel.textColor = [UIColor ...' Получается, что часть «textLabel» была необходима. – KeVal

0

Для осветления изменение цвета должно выглядеть: cell.textLabel.textColor = [UIColor colorWithRed:191.0f/255.0f green:48.0f/255.0f blue:48.0f/255.0f alpha:1.0]; (от UIColor вперед вы можете поместить любые значения RGB, которые желает ваше сердце) спасибо Уровень

Однако -(UITableViewCell *)tableView:(UITableView) *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath; не работает (для изменения ярлыков всех ячеек с одним кодом ... возможно, это для ячеек DYNAMIC, однако я ищу STATIC-ячейки.

1

Способ сделать это для ячейки STATIC - создать OUTLETS для всех ваших ячеек и изменить каждый отдельно ... В противном случае вы должны сделать это динамически.

В вашем файле .h:

@property (weak, nonatomic) IBOutlet UITableViewCell *myCell; 

В вашем .m файл

[self.myCell.textLabel setTextColor:[UIColor blackColor]]; 
Смежные вопросы