当UITabbar是半透明的并且UIViewController没有延伸到标签栏后面时,uitabbar看起来像是覆盖了一个黑色的视图

hzw*_*wzw 5 uitabbar ios swift

这就是我要的 这是我的问题

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

看起来令人无法接受。

而且我不想将Translucentuitabbar 设置为false,这并不花哨。

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

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

好的 好的

hzw*_*wzw 5

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

这是为什么在更改条的色调颜色时不起作用的最终答案。因为UITabbar视图下的视图是黑色的。

感谢Xcode强大的调试功能。我们可以轻松地找到 UITabbar 视图下的视图。

在此输入图像描述

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


Ada*_*nic 5

我想说,在viewDidLoadviewController 中添加此代码将解决您的问题:

    edgesForExtendedLayout = .all
    extendedLayoutIncludesOpaqueBars = true
Run Code Online (Sandbox Code Playgroud)

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