UIButton в UITableViewCell справки UITableView?

#objective-c #ios #uitableview

#objective-c #iOS #uitableview

Вопрос:

Я искал stackoverflow, чтобы найти ответ, но не могу его найти.

У меня есть uibutton в uitableviewcell uitableview.

Я нажимаю на него. Когда я нажимаю на него, запускается функция. Внутри функции я пытаюсь получить indexpath uitableviewcell. indexpath должен быть тем, где кнопка, которую я нажал ранее, существует. Функция запускается, но я получаю нулевое значение при доступе к indexpath.

это код, который я использую

 NSIndexPath *indexPath = [walltablefriends indexPathForCell:(UITableViewCell*)[[sender superview] superview]];
 

но это не работает, это дает мне «ноль». Любая помощь приветствуется!

Комментарии:

1. Как вы добавили кнопку в ячейку? Если в коде, вы добавили его в ячейку или в представление содержимого ячейки?

2. кроме того, просто проверка работоспособности: вы проверили при переходе через walltablefriends, что значение nil не равно нулю, верно?

3. Вот как я добавляю кнопку [cell.contentView addSubview:button1];

4. дрейлин, я думаю, ты прав, таблица walltablefriends равна нулю!!!

Ответ №1:

Ваше предположение о том, что супервизор кнопок является UITableViewCell, является опасным, например, если вы добавляете кнопку в свойство content view ячейки, тогда ее супервизор является UIView, а не представлением ячейки.

Я бы подклассировал свою ячейку tableview и сделал бы ее целевой для нажатия кнопки, и у меня был делегат для ячейки, который сообщает вашему контроллеру представления, что действие ячейки было выбрано, что-то вроде этого…

 - (void)tableCellActionSelected:(MyCellClass *)aCell;
 

Затем ячейка может вызывать…

 [cellDelegate tableCellActionSelected:self];
 

Ответ №2:

Стол был пуст, как упомянул Дрейлин в комментарии! Спасибо, чувак!