gpt4 book ai didi

ios - UITabbarController 内的 UISplitViewController : master controller doesn't go under UITabbar

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:57:43 28 4
gpt4 key购买 nike

我通读了几个现有问题并尝试设置“Under Opaque Bar”无济于事。 enter image description here

看看master view下的navigation bar和tabbar怎么变黑了?这是带有 Split View的普通 Xcode7 新项目。唯一添加的东西 - UITabbarController。

我错过了什么? enter image description here

更新这是压缩项目的链接:https://dl.dropboxusercontent.com/u/6402890/dds1.zip

最佳答案

这是一个很奇怪的问题。使用您的项目进行测试,它似乎只影响 iPad Air 和 iPad Air2 以及 iPhone 6+,而不影响 iPad Retina 或 iPad 2。

问题与 UINavigationBar barTintColor 和 UITabBar barTintColor 的设置有关。

您可以通过执行以下操作来解决您的问题:

1) 对于每个 UINavigationController,将 UINavigationBar barTintColor 设置为白色或取消选择 translucent 开关。您可以在 IB 中执行此操作,方法是选择导航 Controller ,然后选择 View 层次结构中包含的导航栏。

这处理顶部阴影。

2) 对于 UITabBarController,将 UITabBar barTintColor 设置为白色或取消选择 translucent 开关。您可以在 IB 中执行此操作,方法是选择选项卡栏 Controller ,然后在 View 层次结构中选择包含的选项卡栏。

这处理底部阴影。


当我将两者都设置为白色时,它就起作用了。当我将两者都设置为不透明时,它会起作用。设置您想要的颜色似乎是最好的主意,而不是更改半透明设置。

至于为什么?使用 3D 查看器,它看起来像有一个长导航栏样式的 UIView,它是 64 点高和灰色,沿着 Split View Controller 的整个宽度运行。无论出于何种原因,在 iPad Air 和 iPhone 6s 上,这都表现得淋漓尽致。我猜这与新设备中的硬件加速或某些其他设备特定功能有关。

更新:

再看一看,阴影的原因是UISplitViewController的背景色。你似乎不能在 IB 中设置它,但它看起来默认情况下是灰色的,这就是你所看到的。

要解决此问题,您需要为 UISplitViewController 创建一个类并设置主视图的背景颜色。像这样的东西:

class MySplitViewController: UISplitViewController {

override func viewDidLoad() {
super.viewDidLoad()

// Set the background color to white instead of default grey.
self.view.backgroundColor=UIColor.whiteColor()
}
}

所以这似乎是最简单的解决方案。

关于ios - UITabbarController 内的 UISplitViewController : master controller doesn't go under UITabbar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32672080/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com