2012-05-15 1 views
0

Я хочу изменить цвет текста UILabel в методе initWithStyle для UITableViewCell. Но цвет не меняется. Но когда изменение цвета выполняется в методе cellForRowAtIndexPath, цвет меняется. Зачем?Пользовательский цвет текста ярлыка ячейки

+3

Не могли бы вы поставить код, написанный вами на cellForRowAtIndexPath? –

+0

И код в initwithStyle пожалуйста. А также скажите нам, используете ли вы раскадровки и прототипы ячеек или нет. – jrturton

ответ

0

В зависимости, как вы используете ваш ярлык вам просто нужно установить TextColor свойство:

Для создания tableViewCell в - (UITableViewCell*)tableView:(UITableView *)tableView метод, который я думаю, что вы использовали, как следующее:

cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"]; 

может быть вероятность того, что вам ваш стиль либо UITableViewCellStyleDefault, либо UITableViewCellStyleValue1 or UITableViewCellStyleValue2 or UITableViewCellStyleSubtitle`.

Теперь любой стиль, который вы используете, если вы добавляете свой собственный лейбл, чем пользы:

UILabel *lbl = [[UILabel alloc] initWithFrame:CGRectMake(10,10,100,25)]; 
lbl.text = @"your Text"; 
[lbl setTextColor:[UIColor greenColor]]; 

, и если вы не добавляете свои собственные метки и использовать метку по умолчанию, который textLabel или detailTextLabel из UITableViewCell объекта:

[cell.textLabel setTextColor:[UIColor greenColor]]; 
[cell.detailTextLabel setTextColor:[UIColor greenColor]]; 

при добавлении любой ярлык в подвид, как:

UILabel *lbl = [[UILabel alloc] initWithFrame:CGRectMake(10,10,100,25)]; 
lbl.text = @"your Text"; 
[lbl setTextColor:[UIColor greenColor]]; 

вы можете заменить greenColor цветом вашего желания. Надеюсь, что это поможет :)