问题描述
我正在以这种方式呈现一个NavigationController:
let profileViewController = ProfileViewController(nibName: nil,bundle: nil)
let navigationControllerProfile = UINavigationController(rootViewController: profileViewController)
navigationControllerProfile.setNavigationBarHidden(true,animated: false)
navigationControllerProfile.modalPresentationStyle = .fullScreen
self.present(navigationControllerProfile,animated: true,completion: nil)
每当我从该NavigationController中推送Viewcontroller时:
let showCaseViewController = ShowcaseViewController()
showCaseViewController.modalPresentationStyle = .overFullScreen
self.navigationController?.pushViewController(showCaseViewController,animated: true)
已正确推动ViewController,但1秒钟后,整个NavigationController均被关闭。
解决方法
代码向视图控制器显示导航
let vc = storyboard?.instantiateViewController(withIdentifier: "firstvc") as! firstvc
let navigation = UINavigationController(rootViewController: vc)
vc.modalPresentationStyle = .fullScreen
self.present(navigation,animated: true,completion: nil)
用于在显示的视图控制器内部执行推送操作的代码
let vc = storyboard?.instantiateViewController(withIdentifier: "email") as! email
self.navigationController?.pushViewController(vc!,animated: true)