Итак, я добавил UITableViewController
и UITableViewCell
в UIViewController
и в то время как метод cellForRowAtIndexPath
делегата работает, didSelectRowAtIndexPath
не делает. У кого-нибудь есть идеи?didSelectRowAtIndexPath не вызывает в ViewController
EDIT 2: Делегат для
UITableView
устанавливается вUIViewController
.РЕДАКТИРОВАТЬ 3: Я нашел ответ на свой вопрос по другому вопросу о стеке here. В основном у меня был
UITap...
на моем[self view]
, который блокировалdidSelectRow...
. Я понятия не имею, почему нажатие блокирует метод делегата, и я также не знаю, как заставить одновременно крана и таблицу работать вместе.EDIT: Часть, которая меня беспокоит, заключается в том, что я установил эту точную настройку для более раннего приложения. Значит, я пропустил шаг где-то по пути. Дело в том, что я расчесывал все этапы и сравнивал предыдущее приложение с текущим приложением, и я действительно не знаю, что я пропустил.
Я добавил регистрацию как для методов делегирования, так и в то время как один выводит, другой - нет.
ViewController.h
#import "...TableViewCell.h"
...
UITableViewDataSource,
UITableViewDelegate
...
ViewController.m
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"cellForRowAtIndexPath");
...
return Cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"didSelectRowAtIndexPath");
}
... TableViewCell.h (содержание не важно)
... TableViewCell.m (содержание не важно)
Поскольку метод «cellForRow ...» называется, мы знаем, что «dataSource» таблицы задан. Вы также установили свойство 'delegate' таблицы? Не устанавливая, что метод 'didSelectRow ...' не будет вызываться. – rmaddy
Привет rmaddy, да, свойство делегата 'UITableView' установлено в' UIViewController'. * Редактировать: я случайно сказал 'UITableViewController', но я хотел сказать' UIViewController'. – yhl
Внимательно проверьте, правильно ли вы его произвели, с надлежащей капитализацией. –