Я пытаюсь просто изменить цвет моего UILabel
, используя свойство textColor
, и оно не будет работать, когда userInteraction отключено, это не имеет никакого смысла, в документации нет ничего, что упоминало бы об этом вообще,Но это то, что происходит, если я удаляю эту строку, цвет меняется, но я не хочу взаимодействия с пользователем.
UITableViewCellStyleValue1
Стиль для ячейки с меткой слева от ячейки с левойВыровненный и черный текст ;справа находится метка, которая имеет меньший синий текст и выровнена по правому краю.Приложение «Настройки» использует ячейки в этом стиле.Доступно в iOS 3.0 и более поздних версиях.
Обе метки имеют цвет серый , и они не изменят цвет.Вот мой код:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier] autorelease];
}
//If I remove this line the color changes
cell.userInteractionEnabled = NO;
UIColor *blackColor = [UIColor blackColor];
UILabel *mainLabel = cell.textLabel;
UILabel *detailTextLabel = cell.detailTextLabel;
mainLabel.backgroundColor = blackColor;
detailTextLabel.backgroundColor = blackColor;
//Trying to change color here but no effect
mainLabel.textColor = [UIColor redColor];
detailTextLabel.textColor = [UIColor whiteColor];
UIView *backView = [[[UIView alloc] initWithFrame:cell.frame] autorelease];
backView.backgroundColor = blackColor;
cell.backgroundView = backView;
mainLabel.text = @"Some text";
return cell;
}
РЕДАКТИРОВАТЬ: Я только что понял, это связано с userInteractionEnabled = NO
, когда удален текст, Цвет меняется, но я не хочу взаимодействия с пользователем, как я могу отключить этоно также изменить цвет ?, без необходимости создавать собственные UILabels
и добавлять их к contentView
.