2014-09-05 3 views
0

У меня есть tableviewcontroller, в котором есть несколько ячеек с меткой, текстовое поле и т. Д., И я хочу изменить цвет только метки и текстового поля.iOS изменить цвет некоторые элементы

Я попытался использовать это:

[[UILabel appearance] setTextColor:[[UtilisateurManager getCurrUser] getColor]]; 

это работает, но проблема в том, что это изменение цвета этикетки моей панели навигации, и я не хочу этого, я только хочу, чтобы изменить цвет элемента из мой контролер таблицы.

Так я пробовал:

for(UIView *v in [self.tableView subviews]) { 
     if ([v isKindOfClass:[UILabel class]]) { 
      [(UILabel *)v setTextColor:[[UtilisateurManager getCurrUser] getColor]]; 
     } 
     else if ([v isKindOfClass:[UITextView class]]) { 
      [(UITextView *)v setTextColor:[[UtilisateurManager getCurrUser] getColor]]; 
     } etc... 
} 

Но это не работает ... Я не понимаю, как я могу обновить цвета элемента моего tableviewcontroller, в не прикасаясь в моей навигации ящик.

Thx,

ответ

1

попробовать в - (UITableViewCell *) Tableview: (UITableView *) Tableview cellForRowAtIndexPath: (NSIndexPath *) indexPath

UITableViewCell *cell = ...; 

for (UIView *view in [cell.contentView subviews]) 
{ 
    NSLog(@"%@", view); 
} 

Тогда вы должны иметь свои подвиды, если я unterstood вас прямо ,

+0

mhh, в деле, это не глупо делать это. Thx, я попробую несколько munutes. – deveLost

+0

ОК это работает, но я не понимаю, почему мой заменитель меняет цвет тоже? – deveLost

+0

О, нет, ошибка, мой плохой: D Я забыл отменить свой другой тест. – deveLost

0

Ошибка в том, что ниже будет делать все изменения этикетки цвета (это как ур изменения решений на родительском уровне, так что все ребенок создан также изменится) ...

[[UILabel appearance] setTextColor:[[UtilisateurManager getCurrUser] getColor]]; 

Так добиться того, что у хочу у мог просто сделайте следующее,

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 

    cell.textLabel.textColor = [UIColor blackColor]; 
    //Or 
    label.textColor = [UIColor redColor]; //Your label and textfield color you could set as per ur need. 

    return cell; 
} 
Смежные вопросы