当在标签栏控制器内时,分离视图控制器的导航栏较暗

如果将一个拆分视图控制器放置在选项卡栏控制器内,则左侧的导航栏和选项卡栏会较暗。 我附上了截图。 我通过创build一个主 – 细节应用程序,然后添加一个标签栏控制器创build此。 你如何纠正这个问题?

在这里输入图像说明

在撰写本文时(2017年5月),这个错误依然存在。 我不能相信苹果没有照顾到这一点。 更糟糕的是,如果你旋转你的设备,打开主从侧面,并旋转回来,半透明酒吧切换的地方,突然主人有一个工作半透明的酒吧,细节没有。 :/

我唯一可能的解决方法是摆脱UITabBarController,而是使用底层的UITabBar和UIViewController containment API,使用普通的UIViewController构build我自己的标签栏控制器实现。

这意味着很多代码重新发明轮子。 它伤心的不使用UITabBarController,但那是怎么回事。 你必须在容器控制器和所有漂亮的function之间进行权衡,比如你可以免费获得的“更多”控制器与半透明酒吧。

如果你可以没有半透明的酒吧,我仍然会去做所有的编码UITabBarController。 另一方面,可以用UICollectionViewreplaceUITabBar,并且有6个以上的项目,而不需要“更多”控制器。

将导航控制器的视图backgroundColor设置为白色:

self.navigationController?.view.backgroundColor = UIColor.whiteColor() 

这将保持浅灰色。

您也可以禁用半透明,但导航栏将是白色的:

 self.navigationController?.navigationBar.translucent = false 

答案来自这个堆栈溢出问题: 升级到Xcode 5.1和iOS 7.1后,在导航栏上的阴影在segue过渡期间