Как использовать навигационный контроллер в сложном потоке

#ios #swift #xcode #uinavigationcontroller

#iOS #swift #xcode #uinavigationcontroller

Вопрос:

позвольте мне объяснить контекст. Я впервые работаю с splashscreen и сложным потоком в xcode, поэтому я очень ценю вашу помощь.

Мой поток похож на изображение выше

поток

В splashVC я должен проверить, зарегистрирован ли пользователь или нет .. если зарегистрирован, то мне нужно вернуться домой, если нет, нужно перейти к логину.

В LoginVC я могу зайти домой или восстановить пароль.

В Home у меня есть 2 типа пользователей: при вводе первого я перехожу к X, при вводе второго я перехожу к Y.

Я могу перейти в профиль VC из дома, X и Y.

Теперь я столкнулся с проблемой. Я работал (я новичок) только с простыми потоками и одним навигационным контроллером.. здесь необходимо использовать больше навигаций? или как я могу этого добиться?

В дизайне появляется панель навигации (кнопка «Назад») и заголовок, для этого я прошу использовать навигационный контроллер.

Я еще не вставил ни одного VC в навигационный контроллер, и когда я выполняю переход к другому VC, появляется следующий, как на изображении выше. Итак, необходимо работать с навигацией? Или как я могу отклонить предыдущий VC и добиться, чтобы 2-й не выглядел как модальный.

модальный

Заранее спасибо.

Ответ №1:

если вы нажмете на сам переход и проверите инспектор атрибутов, есть опция для презентации. Я полагаю, вы хотите установить для этого полноэкранный режим.

Комментарии:

1. спасибо за ответ, но как насчет вопроса navigationcontroller?

Ответ №2:

Если вы хотите сделать это программно :

 let vc = UIViewController() // your case profilevc will be I think
vc.modalPresentationStyle = .fullScreen
self.present(vc, animated: true, completion: nil)
  

или раскадровка :

введите описание изображения здесь

Комментарии:

1. спасибо за ваш ответ, но как насчет ответа navigationcontroller?

2. предполагается, что уже используется навигационный контроллер, весь viewcontroller будет находиться в вашем стеке nav. controller, и при их использовании будет отображаться полноэкранный желаемый vc