Я знаю, что переопределение функциональности кнопки «назад» не считается хорошим пользовательским дизайном.Однако у меня есть процесс, при котором в какой-то момент возвращение назад не имело бы никакого смысла.Вместо этого я бы хотел, чтобы пользователь вернулся назад на два или более контроллера
. Поэтому в определенных ViewControllers нажатие кнопки «назад» должно вызывать появление нескольких ViewControllers, а не только одного впереди.Я попытался создать подкласс NavigationController и переопределить метод popViewController:
- (UIViewController *)popViewControllerAnimated:(BOOL)animated
{
if([[self.viewControllers lastObject] class] == [MyCOntroller class]){
[super popViewControllerAnimated:NO]; // pop once
return [super popViewControllerAnimated:animated]; // pop twice
} else {
return [super popViewControllerAnimated:animated];
}
}
Однако у меня возникают проблемы, когда NavigationTopBar больше не синхронизируется с ViewController впереди.Кто-нибудь сталкивался с такими же проблемами?