Событие целевого действия UIControl не передается по цепочке респондента
У меня есть UIButton
внутри UITableViewCell
который находится в таблице, которая принадлежит моей UITableViewController
подкласс. Я пытаюсь использовать функцию пар "цель / действие", где она может передавать события следующему респонденту до тех пор, пока не найдет респондент, который может обработать событие, но я не могу заставить это работать. Некоторый код:
В своей ячейке таблицы я настроил свою кнопку так:
[self.button addTarget:nil action:@selector(doThing) forControlEvents:UIControlEventTouchUpInside];
Кнопка добавляется в мою ячейку, и ячейка очень хорошо отображается в виде таблицы. С тех пор как я прошел nil
для цели это событие должно всплывать, пока не достигнет моего View Controller, который реализует -doThing
, но это не называется.
Я переопределил - (BOOL)canBecomeFirstResponder
и вернуться YES
и в подклассе ячейки, и в моем подклассе контроллера представления, но даже в сочетании это все еще не работает.
Я отладил, чтобы увидеть, что и кнопка, и контроллер представления находятся в одной цепочке респондента, но каким-то образом событие, похоже, не подходит.
Есть идеи?
2 ответа
Селектор для сообщения действия нуждается в параметре. Попробуйте позвонить doThing:
как в вашем addTarget:
код и в обработчике контроллера представления.
Что ячейка говорит, что ее nextResponder? Вы уверены, что он не всплывает в UITableView, а не в UITableViewController?