ストーリーボードにテーブル ビュー コントローラーを作成しました。選択した行をクリックしたときに UILabel のテキストの色を緑に変更したい。
私はこのようなことを試みていますが、うまくいきません:
- (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 に変更しました。
ラベルのテキストの色がまだ同じままで、解決策を提供してくれる理由を誰か教えてもらえますか?