У меня есть контроллер представления, встроенный в другое представление, использующее addSubView, которое не перехватывает события, как я могу убедиться, что это происходит?
фон:
Я пытаюсь вложить представления, чтобы разбить раскадровку, которая должна использоваться несколькими разработчиками. Чтобы достичь этого с минимальным дублированием функциональности, я / мы создали mainStoryboard, который содержит контроллер вкладок и 4 вкладки, каждая вкладка содержит подпредставление, которое загружает UIView (содержащийся в другой раскадровке) в себя. Эти представления добавляются так:
//Add sub view
UIStoryboard *board = [UIStoryboard storyboardWithName:@"MessagesStory" bundle:nil];
UIViewController *boardController = [board instantiateInitialViewController];
[self.view addSubview:boardController.view];
boardController.view.frame = CGRectMake(0, 0, 320, 480);
Начальный загруженный контроллер представления является подклассом UITableView, все это прекрасно работает для отображения таблицы и ее содержимого на экране, и я могу взаимодействовать с таблицей и выбирать строки, однако прослушиватель событий на контроллере представлений «didSelectRowAtIndexPath» не срабатывает.
Я знаю, что он не стреляет благодаря доброму старому NSLog ():
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"Please kind sirs help a poor string appear in the console.");
}
Я знаю, что это связано с подпредставлением, потому что, если я загружаю подпредставление самостоятельно в качестве основного представления, прослушиватель событий функционирует должным образом.
Любая помощь приветствуется, поскольку это занимает больше времени, чем ожидалось, и я могу быть привлечен к другому проекту, прежде чем смогу завершить его реализацию.