У меня есть поток мастера регистрации в раскадровке, это Navigation Controller (в качестве точки входа раскадровки) с обычными кнопками Назад / Далее на панели навигации, а затем 4 подэтапа Сцены с переходами Show / Push в линейном переходе.chain.
Обычно я настраиваю пользовательский переход к контроллеру раскадровки, и мастер запускается с первого шага, и все в порядке.
Но из другого пункта приложения мне нужно перейти на один модальныйподэтапов (не первый), и я не хочу копировать / вставлять все представление и класс, управляющий им, в целую новую цепочку контроллера навигации, поэтому я решил, что могу перейти непосредственно к нему (и динамически настроитьчто происходит в кнопках «Назад / Далее».
Поэтому я попытался создать подкласс UIStoryboardSegue, чтобы выполнить собственный переход для этого, его метод sceneNamed делает что-то вроде этого:
return [storyboard instantiateViewControllerWithIdentifier: sceneName];
и это работает, но так как мы создаем экземпляр дополнительной сцены 's View Controller, а не Navigation Controller, я вижу сцену, но не получаю панель навигации ..
С другой стороны, если я переключаюсь на Navigation Controller, он обычно начинается с первой связанной сцены.
Есть ли способ обмануть UIKit, чтобы он пошел к контроллеру навигации, но заставил его начать со сцены дальше вниз по обычной иерархии / потоку?
Да, я понимаю, что это хакерство;Существуют и другие решения (в этом случае я могу программно добавить кнопки «Назад» / «Далее»).Просто любопытно.