У меня есть табличный вид, внутри которого есть ячейка. Эта ячейка имеет кнопку, которая объявляется так в классе customTableVIewCell.Изменение названия кнопки внутри пользовательской ячейки моего табличного представления
@property (weak, nonatomic) IBOutlet UIButton *myButton;
внутри контроллера вида таблицы, я устанавливаю метод для этой кнопки.
[cell.myButton setTitle:@"Show cell number!" forState:UIControlStateNormal];
[cell.myButton addTarget:self action:@selector(myButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
Я хочу изменить название кнопки при каждом ее выборе.
Теперь рассмотрим это: У меня есть три ячейки в моем представлении таблицы, то есть моя таблица имеет три строки. В каждой строке есть кнопка myButton.
При каждом нажатии кнопки я хочу изменить заголовок кнопки на 1 или 2 или 3 в зависимости от номера ячейки, в которой находится кнопка.
я попытался это:
- (IBAction)myButtonClicked:(id)sender{
NSIndexPath *indexPath =[self.tableVIew indexPathForCell:(UITableViewCell *)[[sender superview] superview]];
NSUInteger row = indexPath.row;
NSLog(@"button was clicked for the following row %i", row);
}
Но это печать «кнопка была нажата на следующую строку 0» в консоль, независимо от того, кнопки на ячейку # 1 или соте # 2 или соте # 3 было щелкнул. (ячейка - только столбец таблицы)
Пожалуйста, помогите мне.
Вы работаете с indexPath.row или indexPath.section? Сколько строк вы возвращаете в делегате UITableViewDataSource? – EridB