iOS 10选中TabBarItem消失

时间:2016-09-16 10:18:54

标签: ios user-interface ios10

我有一个应用程序,它在故事板中使用基于TabBar的导航来导航到不同的视图。

该应用在iOS7 - iOS9上运行良好。但是对于iOS10,标签项在被选中时会消失(图标和标题)。

标签栏完全配置在故事板中,没有自定义用户代码。在XCode中,一切看起来都很好: enter image description here

但是当应用程序在iOS10设备/模拟器上运行时,应用程序如下所示(图像在同一个标​​签栏中显示不同的选项,所有3个项目的行为相同) enter image description here

这个问题可能是什么原因?有没有工作?

4 个答案:

答案 0 :(得分:2)

我终于找到了解决这个问题的方法。我仍然不确定这是由于iOS 10中的更改还是错误。

从这个回答中得出一个老问题: https://stackoverflow.com/a/39884669/1567923

您需要创建自定义TabBarViewController 并在故事板中使用它。 并且在该视图控制器中执行类似的操作,直接在代码中设置tintColor:

class UIMeeetTabBarController: UITabBarController, UITabBarControllerDelegate{

override func viewDidLoad() {
    super.viewDidLoad()        
    self.tabBar.tintColor = Style.colorRed
}

我希望这对你也有用。

答案 1 :(得分:1)

tabbar选择您的tabbarController scene并在tintColor下设置一些view,然后检查它是否有效!

答案 2 :(得分:0)

我知道这是一个旧版本,但我在Xcode 9中遇到了同样的问题,最后在没有一行代码的情况下解决了这个问题。转到属性检查器并使标签栏项目选定图像与条形图像图像匹配...

答案 3 :(得分:0)

您不需要设置自定义标签栏控制器。这里的问题是缺少文档(为此我向Apple提交了错误报告,并鼓励您这样做)。

您可以在Interface Builder中解决此问题,方法是选择选项卡栏本身,然后转到“属性”检查器的“选项卡栏”(顶部)部分,并设置“图像色调”颜色。我假定当选项卡栏项进入“选定”状态时,控件会反转图形的Alpha通道,并让底层的选项卡栏的颜色显示出来。如果该颜色是“透明”或与您的标签栏项目的背景完全匹配……您什么也看不到。如果背景较暗,请尝试将此值设置为白色。

选项卡栏项目的图形仅使用其alpha(非透明)像素显示为黑白图像。然后,这些像素将允许基础选项卡栏的“色点”显示出来或不显示出来,这取决于未选中/选中的状态。