Я создал контроллер табличного представления на раскадровке. Я хочу изменить цвет текста UILabel на зеленый, когда я нажал на выбранную строку.Как изменить цвет текста UILabel в пользовательской ячейке UITable?
Я что-то вроде этого пытаюсь, но это не работает:
- (void)viewDidLoad {
[super viewDidLoad];
menuItems = @[@"home", @"stamp", @"scanner", @"settings"];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *CellIdentifier = [menuItems objectAtIndex:indexPath.row];
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
// Remove seperator inset
if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
[cell setSeparatorInset:UIEdgeInsetsZero];
}
// Prevent the cell from inheriting the Table View's margin settings
if ([cell respondsToSelector:@selector(setPreservesSuperviewLayoutMargins:)]) {
[cell setPreservesSuperviewLayoutMargins:NO];
}
// Explictly set your cell's layout margins
if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
[cell setLayoutMargins:UIEdgeInsetsZero];
}
NSLog(@"cell %@",[cell.contentView viewWithTag:1000]);
return cell;
}
- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
NSString *CellIdentifier = [menuItems objectAtIndex:indexPath.row];
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if(indexPath.row == 0){
UILabel *menu= (UILabel*)[cell.contentView viewWithTag:1000];
menu.textColor = [UIColor greenColor];
NSLog(@"cell clicked: %@",[cell.contentView viewWithTag:1000]);
}
//[cell.textLabel setTextColor:[UIColor greenColor]];
// [self setCellColor:[UIColor greenColor] ForCell:cell];
[self.tableView reloadData];
}
Я ярлык сопротивление в ячейке таблицы и установить идентификатор дом, штамп, сканер ... и изменение тег до 1000
Может ли кто-нибудь сказать мне, почему цвет текста этикетки по-прежнему остается неизменным и обеспечивает решение для меня?
ya, у меня есть несколько ячеек. –
Для нескольких ячеек, если вы хотите применить цвет ко всем. Выполните следующие шаги. Или вы также можете создать пользовательскую ячейку и применить цвет к каждой метке. – Samir
Это работает! Спасибо! Но что, если я хочу, чтобы выбранные изменения ячейки были зелеными, а другие все еще остались одного цвета? –