我有一个如下的故事板。
当我录制“Push ViewController 2”时,出现了一个奇怪的动画。
我将NavigationController.view.backgroundColor或TabBarController.view.background设置为白色。但它不起作用。 我不想将navigationBar.translucent设置为NO。
我怎样摆脱它?
答案 0 :(得分:2)
在TabView application
中使用NavigationController时。通常的做法是将NavigationController单独嵌入到每个ViewController中以避免异常行为,并且它还为您提供了一种更好的方法来控制单独实例中的NavigationController
。以下Storyboard布局修复您的奇怪动画。
<强>输出:强>
PS: @skJosh 评论也提到了同样的想法。
<强>更新强>
将代码粘贴到DetailViewController
以隐藏和取消隐藏您的TabBar。
override func viewWillAppear(_ animated: Bool) {
tabBarController?.tabBar.isHidden = true
}
override func viewWillDisappear(_ animated: Bool) {
tabBarController?.tabBar.isHidden = false
}
答案 1 :(得分:-1)
你没有在navigationBar
下扩展你的视图控制器(在导航中推送)(这就是为什么你看到模糊的红色视图控制器 - 这是前一个 - 在酒吧下面)。
设置edgesForExtendedLayout
和extendedLayoutIncludesOpaqueBars
。在这种情况下,navigationBar.isTranslucent
也必须是true
。
或者您可以关闭navigationBar
的半透明效果并将其颜色设置为您想要的任何颜色。
答案 2 :(得分:-1)