Существует несколько способов управления презентацией вашего приложения.
Во-первых, если вы используете UINavigationController после добавления представления в мешок, вы можете установить его вручную. viewControllers
контроллеров навигации должны быть только текущим контроллером представления, это устраняет поведение «назад». Это solid техника, чтобы иметь в заднем кармане. Например, вы можете сделать:
func onButtonPress(_ sender: Any) {
self.navigationController.viewControllers = [self.navigationController.topViewController]
}
Это самый тривиальный случай, но он показывает установку свойства viewControllers
для массива, состоящего из просто самого верхнего контроллера вида стек навигации. Также есть очень неплохо setViewControllers(_ viewControllers: [UIViewController],
animated: Bool)
, если вы хотите анимировать презентацию на новом контроллере представления, на который стоит посмотреть в зависимости от интересующего вас эффекта.
Во-вторых, вы можете в своем приложении делегату представить модальный контроллер вида поверх вашего root контроллера вида. Когда пользователь нажимает кнопку dismiss
модал. Boom! Они никогда не могут go вернуться назад.
В-третьих, вы можете поменять rootViewController
окна. Это самый сложный вариант, и, вероятно, его не следует делать, но это вариант.