ios - UITabBarController 不更改 'more' 按钮图标的颜色

标签 ios swift uitabbarcontroller

我的应用有一个 UITabBar。由于它有太多的 View ,无法一次显示所有 View ,因此它有一个“更多”按钮,可以下拉一个显示其余 View 的 tableView。我正在尝试更改图标的颜色以匹配底部的其余图标,因为出于某种原因,底部图标的默认值为灰色,更多 View 内的图标为蓝色。我设法通过添加行使其工作:

self.tabBarController?.moreNavigationController.view.tintColor = .grayColor()

我在 viewDidLoad 函数的第一个选项卡的 View Controller 中添加了这一行。再次,这行得通,但把它放在那里感觉不对,所以我制作了一个 UITabBarController 并将该行放在该 Controller 的 viewDidLoad 中。然后,我通过 Storyboard将 Controller 与身份检查器的自定义类部分中的类字段连接起来。以这种方式完成后,TabBar 不再使用它并且图标变回蓝色。

我的问题是:我是否应该在加载的第一个 viewController 中保留该行?或者我应该把那条线完全放在其他地方吗?

第一张图:显示tabBar底部的图标,当前选中的图标为黑色,其他为灰色。 enter image description here

第二张图片:这显示了整个屏幕,底部有标签栏,并且选择了更多页面,如您所见,图标是蓝色的,我想将它们更改为灰色。 enter image description here

最佳答案

试试这个: 创建一个扩展 UITabBarController 的新类,然后不使用 self.tabBarController?.moreNavigationController.view.tintColor = .grayColor()

使用 self.moreNavigationController.view.tintColor = .grayColor()

例子:

class TabBarViewController: UITabBarController{
    override func viewDidLoad() {
        super.viewDidLoad()
        self.moreNavigationController.view.tintColor = .grayColor
    }
}

关于ios - UITabBarController 不更改 'more' 按钮图标的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34865895/

相关文章:

swift - XOR 神经网络 - 意想不到的结果

ios - 预加载自定义 UITableViewCell,然后在 tableview 中重新使用它们

ios - self.tabBarController dismissViewControllerAnimated 不起作用

ios - 带 UITableView 的 UITabBar - 我可以正确看到表格,但无法选择一行

ios - 为什么 Xcode 会为我的模型类的 bool 属性生成一个 NSNumber 属性?

javascript - React Native 中的 setTimeout

ios - iOS 中的函数返回错误

iphone - UITabBarController 更多NavigationController 表格单元格背景图像

ios - 为什么当我点击第三个 tabbaritem 时,第三个 tabbaritem 和第四个项目交换位置?

iOS 5 UIAlertView 自定义