Я пытаюсь подтолкнуть контроллер представления к контроллеру представления, который представлен как модальное окно нижней половины. Когда я пытаюсь нажать на контроллер представления, он появляется в пределах представленного представления нижней половины.
Как я могу отправить новый контроллер представления в виде полноэкранного представления в стек навигации из контроллера представления, который представлен как модальное окно в нижней половине?
DonMag, здесь проблема с высотой выталкиваемого контроллера представления, поскольку представленный контроллер модального представления подталкивает новый контроллер представления, он отображается в пределах представленного представления нижней половины.
У вас есть контроллер навигации, да? И из текущего VC в NavVC вы представляете модальный VC, который отображается в нижней половине экрана, да? И вы хотите, чтобы нажатие кнопки в этом модальном VC отправляло новый VC в NavVC, да? И вы хотите, чтобы одновременно закрыли модальную ВК?
Да, у меня есть контроллер навигации, и я представил модальный VC, который отображается в нижней половине экрана. Да, когда я нажимаю на эту нижнюю половину, я хотел бы нажать на новый VC на NavVC. Нет, я не хочу, чтобы модальный VC был отклонен, это то, что когда-либо новое VC должно быть вытеснено из этого представленного модального VC.
Вот как я решил эту проблему.
Имейте Master Vie wController с полноэкранным режимом и прозрачным цветом и добавьте к нему дочерний контроллер представления (который в основном является представлением нижней половины или представлением содержимого), а затем представьте основной контроллер представления. Поскольку главный контроллер представления имеет полноэкранный режим, когда вы нажимаете новый контроллер представления, он отображается в полноэкранном режиме. Представление содержимого всегда находится в нижней части, и нам не нужно отказываться от контроллера модального представления.
Использовать шаблон делегата / протокола ... Контроллер представления нижней половины определяет протокол; «контроллер основного представления» соответствует этому протоколу и устанавливает себя в качестве делегата для представленного представления нижней половины; нажатие кнопки (или любое другое действие) в нижней половине указывает своему делегату выполнить функцию протокола.