Пользовательский переход к конкретному подвиду в иерархии контроллера навигации - PullRequest
0 голосов
/ 20 сентября 2018

У меня есть поток мастера регистрации в раскадровке, это Navigation Controller (в качестве точки входа раскадровки) с обычными кнопками Назад / Далее на панели навигации, а затем 4 подэтапа Сцены с переходами Show / Push в линейном переходе.chain.

Обычно я настраиваю пользовательский переход к контроллеру раскадровки, и мастер запускается с первого шага, и все в порядке.

Но из другого пункта приложения мне нужно перейти на один модальныйподэтапов (не первый), и я не хочу копировать / вставлять все представление и класс, управляющий им, в целую новую цепочку контроллера навигации, поэтому я решил, что могу перейти непосредственно к нему (и динамически настроитьчто происходит в кнопках «Назад / Далее».

Поэтому я попытался создать подкласс UIStoryboardSegue, чтобы выполнить собственный переход для этого, его метод sceneNamed делает что-то вроде этого:

return [storyboard instantiateViewControllerWithIdentifier: sceneName];

и это работает, но так как мы создаем экземпляр дополнительной сцены 's View Controller, а не Navigation Controller, я вижу сцену, но не получаю панель навигации ..

С другой стороны, если я переключаюсь на Navigation Controller, он обычно начинается с первой связанной сцены.

Есть ли способ обмануть UIKit, чтобы он пошел к контроллеру навигации, но заставил его начать со сцены дальше вниз по обычной иерархии / потоку?

Да, я понимаю, что это хакерство;Существуют и другие решения (в этом случае я могу программно добавить кнопки «Назад» / «Далее»).Просто любопытно.

1 Ответ

0 голосов
/ 20 сентября 2018

Так почему бы не подключить segues следующим образом:

Navigation Controller (sign up) ->
  VC1 -> VC2 -> Terms of Service -> VC3
                       ↑
Login View ->          |                          
     Navigation Controller

Таким образом, у вас просто есть два разных способа достижения контроллера представления Условий обслуживания без необходимости его копировать.Вы можете использовать объект Storyboard Reference, чтобы сконфигурировать его, не имея кучу перекрещивающихся стрелок, которые выходят за рамки раскадровки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...