У меня есть навигационное приложение с корневым viewcontroller и дочерним viewcontroller. В дочернем методе -didSelectRowAtIndexPath
я добавляю кнопку возврата с целью / действием следующим образом:
Когда выбрана кнопка «Назад», я хочу вернуться к корневому виду, а не к (предыдущему) дочернему виду. Однако я не могу понять, почему метод действия не запускается:
- (void)tableView:(UITableView *)tableView
didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
Question *newQuestion = [[Question alloc]
initWithNibName:@"Question"
bundle:nil];
newQuestion.testQuestion = self.testQuestion;
[self.navigationController dismissModalViewControllerAnimated:YES];
[tableView deselectRowAtIndexPath:indexPath animated:YES];
UIBarButtonItem *backButton = [[UIBarButtonItem alloc]
initWithTitle:@"Quiz"
style:UIBarButtonItemStylePlain
target:self
action:@selector(backToMenu)];
self.navigationItem.backBarButtonItem = backButton;
[backButton release];
[self.navigationController pushViewController:newQuestion
animated:YES];
[newQuestion release];
}
В верхней части моего класса Question я включаю метод backToMenu:
-
(void)backToMenu {
NSLog(@" backToMenu");
[self.navigationController popViewControllerAnimated:YES];
Однако, -backToMenu
никогда не запускается; Я никогда не вижу дисплей NSLog
.
Мой -viewWillAppear
срабатывает, но я не знаю, как определить, нахожусь ли я там из-за нажатия кнопки «Назад» или выбора строки таблицы.
Наверное, очевидно для вас, но я в тупике ... THX