Можно ли открыть окно 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];
Другие вопросы по тегам