我有一个故事板,在某些时候,有一个push segue到root / main viewController。
问题是:当segue执行"时,我的工具栏正在消失。 (toolBar不会出现在最初有一个toolBar的viewController中。)
我试图在viewDidLoad()中将isHidden属性设置为false,也尝试在前一个控制器的prepareForSegue()中尝试将xcode中的下拉列表从推断更改为半透明工具栏,以及我在其中找到的其他几种推荐方法这里。他们都没有工作。
我尝试过的例子:
override func viewDidLoad() {
super.viewDidLoad()
self.navigationController?.isToolbarHidden = false
}
我在想这可能是因为我的appDelegate代码,因为我在导航控制器上遇到了类似的问题,我只是通过设置一个导航控制器到window.rootViewController来修复,如下所示。关于如何在"优雅"中解决工具栏问题的任何建议方式是什么?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
let mainStoryBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let isUserAuthenticated:Bool = UserDefaults.standard.bool(forKey: "isUserAuthenticated")
if(!isUserAuthenticated) {
let loginViewController = mainStoryBoard.instantiateViewController(withIdentifier: "loginView") as! LoginPageViewController
window!.rootViewController = loginViewController
window!.makeKeyAndVisible()
} else {
let protectedPage = mainStoryBoard.instantiateViewController(withIdentifier: "viewController") as! ViewController
// this was necessary in order to instantiate the navigation controller and it show up in the page
let navigationController = UINavigationController(rootViewController: protectedPage)
window!.rootViewController = navigationController
window!.makeKeyAndVisible()
}
return true
}