当UITabbar是半透明的并且UIViewController没有扩展到tabbar后面时,uitabbar似乎覆盖了黑色视图

时间:2015-10-12 08:11:44

标签: ios swift uitabbar

This is what I want This is my problem

第一个视图中的标签栏就是我想要的。由于第二个视图不是滚动视图,因此我无法使用self.edgesForExtendedLayout = UIRectEdge.Bottom将其扩展到底部。

看起来不可接受。

而且我不想将uitabbar的Translucent设置为false,这不是花哨的。

我尝试另一种方式: [[UITabBar appearance] setBarTintColor: [UIColor whiteColor]];

它不起作用。为了使它看起来更清晰,我将颜色更改为红色。最后一个标签栏看起来也像是覆盖了一些黑色视图。

OK OK

2 个答案:

答案 0 :(得分:3)

  

考虑到tabbar是半透明的,UITabbar视图下的视图是什么?

这是更改条形的tintcolor时无法正常工作的最终答案。因为UITabbar视图下的视图是黑色的。

感谢Xcode非常棒的调试功能。我们可以轻松地在UITabbar视图下找到视图。

enter image description here

这是UIWindow。所以解决方案是简单地将窗口的backgroundColor更改为白色。

答案 1 :(得分:2)

我想说在viewController的viewDidLoad中添加此代码可以解决您的问题:

    edgesForExtendedLayout = .all
    extendedLayoutIncludesOpaqueBars = true

另外,您可以保持tabBar半透明,而不设置任何背景颜色。