Я хочу изменить цвет текста UILabel в методе initWithStyle для UITableViewCell. Но цвет не меняется. Но когда изменение цвета выполняется в методе cellForRowAtIndexPath, цвет меняется. Зачем?Пользовательский цвет текста ярлыка ячейки
ответ
В зависимости, как вы используете ваш ярлык вам просто нужно установить 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
цветом вашего желания. Надеюсь, что это поможет :)
Не могли бы вы поставить код, написанный вами на cellForRowAtIndexPath? –
И код в initwithStyle пожалуйста. А также скажите нам, используете ли вы раскадровки и прототипы ячеек или нет. – jrturton