iPhone - перехват событий касания UIButton из пользовательской ячейки - PullRequest
0 голосов
/ 25 марта 2011

У меня есть UIButton в ячейку пользовательского табличного представления, и я хотел бы назначить прикосновения к этой кнопке для метода БЕЗ добавления события из кода, но связывания с IB.При объявлении touchMethod владельцу файла (пользовательский UITableViewController) происходит сбой приложения из-за «нераспознанного селектора, отправленного экземпляру».Если я объявляю touchMethod в пользовательском UITableViewCell, я не могу связать кнопку с элементом ячейки.

Как мне сделать, чтобы перехватить нажатие кнопки в пользовательском UITableViewController (владелец файла пользовательской ячейки)?

Пожалуйста, не публикуйте никаких решений, которые позволили бы добавить метод к кнопкесо встроенным кодом. Я знаю, как это сделать.

Ответы [ 3 ]

1 голос
/ 25 марта 2011

Вы должны иметь возможность связываться с UITableViewCell в IB.(Что я вижу, что вы пытались).Я предполагаю, что вы загружаете свою пользовательскую ячейку из XIB.В этом случае вам может понадобиться зайти в конструктор интерфейса и убедиться, что вы изменили класс UITableViewCell (в его XIB) на ваш собственный подкласс.Вы можете сделать это на вкладке «Identity Inspector».Когда выбран ваш UITableViewCell, в верхней части вкладки появляется раскрывающийся список, который, вероятно, говорит «UITableViewCell», чтобы изменить его на свой пользовательский подкласс.После этого вы сможете связать кнопку с нужной функцией в ячейке.

0 голосов
/ 03 апреля 2011

У меня была похожая проблема, Оливер, и я исправил ее, используя self в качестве владельца при загрузке NIB пользовательской ячейки, например:

[[NSBundle mainBundle] loadNibNamed:@"MyCustomTableViewCell" owner:self options:nil];

просто убедитесь, что для owner: установлено значение self.Код выше вернет массив.Цикл по массиву, пока вы не получите объект типа MyCustomTableViewCell

0 голосов
/ 25 марта 2011

Вы уверены, что вы установили IBOutlet для UITableViewCell.

В противном случае просто попробуйте установить IBOutlet для UITableViewCell в XIB и изменить класс на UITableViewCell из «Identity Inspector».

Скажите мнеесли это не сработает ..

...