У меня есть TableView с пользовательским типом ячеек. В прототипе я имею 3 кнопки. Я хочу, чтобы иметь возможность изменить название кнопки, когда я нажал на другой. Я пытаюсь это сделать:Как изменить название UIButton, которое помещено в ячейку прототипа?
- (IBAction) doSomething:(id) sender {
CGPoint hitPoint = [sender convertPoint:CGPointZero toView:self.myTableView];
NSIndexPath *hitIndex = [self.myTableView indexPathForRowAtPoint:hitPoint];
NSLog(@"%ld", (long)hitIndex.row); //This works and I can see the row which button placed
MyCustomViewCell *cell = [_myTableView dequeueReusableCellWithidentifier:@"myCell"];
//I'm tried this:
cell.button.titleLabel.text = @"111";
//and I'm tried this:
[cell.button setTitle:@"222" forState:UIControlStateNormal];
}
Что я делаю неправильно?
- (UITableViewCell *) Tableview: (UITableView *) Tableview cellForRowAtIndexPath (NSIndexPath *) indexPath {
MyCustomViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"myCell"];
if (!cell) {
cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"myCell"];
cell.accessoryType= UITableViewCellAccessoryDisclosureIndicator;
}
cell.textLabel.text = _productNameForClearance;
cell.imageView.image = _productImageForBasket;
return cell;
}
Если кнопка типа UIButton вы должны использовать [cell.button SETTITLE: @ «111» Форстата: UIControlStateNormal]; – Greg
Вы использовали отладчик, чтобы убедиться, что ваш код получает правильную 'indexPath' для кнопки и что' cell' не 'nil'? – rmaddy
Я написал выше: NSLog (@ "% ld", (long) hitIndex.row); // Это работает, и я вижу строку, в которую помещена кнопка – daleijn