Можно ли открыть окно n - 2 или n - 3?
Я знаю, что легко перейти к предыдущему viewController с:
[self.navigationController popViewControllerAnimated:YES];
Но можно ли перейти не к предыдущему представлению, а к представлению n - 2 или n - 3?
1 ответ
Решение
Да, но это должно быть сделано по-другому, сначала захватите текущий стек контроллеров представления из контроллера навигации:
NSMutableArray *viewControllers = [self.navigationController.viewControllers mutableCopy];
В коде вы видите, что я сделал массив изменяемым, теперь вы можете манипулировать массивом:
NSRange range = NSMakeRange(2, 2);
[viewControllers removeObjectsInRange:range];
Здесь я удаляю 2 контроллера вида из позиции 2, конечно, есть еще много способов удалить / добавить контроллер из массива.
Затем просто назначьте новый массив для navigationController:
[self.navigationController setViewControllers:viewControllers animated:YES];