我的应用有一个 UITabBar。由于它有太多的 View ,无法一次显示所有 View ,因此它有一个“更多”按钮,可以下拉一个显示其余 View 的 tableView。我正在尝试更改图标的颜色以匹配底部的其余图标,因为出于某种原因,底部图标的默认值为灰色,更多 View 内的图标为蓝色。我设法通过添加行使其工作:
self.tabBarController?.moreNavigationController.view.tintColor = .grayColor()
我在 viewDidLoad
函数的第一个选项卡的 View Controller 中添加了这一行。再次,这行得通,但把它放在那里感觉不对,所以我制作了一个 UITabBarController
并将该行放在该 Controller 的 viewDidLoad
中。然后,我通过 Storyboard将 Controller 与身份检查器的自定义类部分中的类字段连接起来。以这种方式完成后,TabBar 不再使用它并且图标变回蓝色。
我的问题是:我是否应该在加载的第一个 viewController 中保留该行?或者我应该把那条线完全放在其他地方吗?
最佳答案
试试这个:
创建一个扩展 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/