我有下面的代码隐藏并显示导航栏.它在第一个视图加载时隐藏,然后在调用"children"时隐藏.麻烦的是,当他们回到根视图时,我找不到触发它再次隐藏的事件/动作....
我在根页面上有一个"测试"按钮,用于手动执行操作,但它并不漂亮,我希望它是自动的.
-(void)hideBar
{
self.navController.navigationBarHidden = YES;
}
-(void)showBar
{
self.navController.navigationBarHidden = NO;
}
Run Code Online (Sandbox Code Playgroud) 我只想隐藏一个视图控制器的导航栏,该视图控制器是 UINavigationController 的根视图控制器。
目前我正在使用下面的代码来隐藏特定视图控制器的导航栏。
override func viewWillAppear(_ animated: Bool) {
self.navigationController?.isNavigationBarHidden = true
super.viewWillAppear(animated)
}
Run Code Online (Sandbox Code Playgroud)
override func viewWillDisappear(_ animated: Bool) {
self.navigationController?.isNavigationBarHidden = false
super.viewWillDisappear(animated)
}
Run Code Online (Sandbox Code Playgroud)
当我尝试使用此代码时,应用程序在 iOS 13 设备中崩溃,因为线程冲突:预期主线程。
请检查我使用上面的代码隐藏导航栏时遇到的问题,
请告诉我是否有其他方法可以仅隐藏一个视图控制器的导航栏。