我想将moreNavigationController
中的图标颜色(可能是徽章)从灰色更改为其他颜色。
我已阅读并成功更改了背景和文字的颜色。我做了这个"替换" moreViewController
的数据来源(例如此处Customizing the More menu on a Tab bar描述)。但是在这里更新图标(也是textLabel值)没有任何效果。是否可以将此灰色更改为白色(或其他任何内容)?或者我必须实现自己的tabBarController
? (任何好的教程?)
PS。我知道如何更改标签栏本身的图标,问题是如何在moreViewController
中执行此操作?
谢谢! 彼得
答案 0 :(得分:3)
如果它仍然与任何人相关。 您可以更改moreViewController的tableView中显示的图标颜色:
self.tabBarController?.moreNavigationController.topViewController?.view.tintColor = UIColor.redColor()
更改标题是这样的:
self.tabBarController?.moreNavigationController.navigationBar.topItem?.title = "MyString"
更改编辑按钮:
self.tabBarController?.moreNavigationController.navigationBar.tintColor = UIColor.redColor()
答案 1 :(得分:0)
您可以使用iOS 5中的新外观代理执行此操作。在您的app delegate的didFinishLaunching方法中:
[[UITabBar appearance] setSelectedImageTintColor:[UIColor redColor]];
In iOS 7 use:
[[UITabBar appearance] setTintColor:[UIColor redColor]];
有关更多详细信息,请参阅UITabBar类参考。
答案 2 :(得分:0)
好的,通过对网络的长期研究和该主题中的答案,似乎在iOS7上无法更改moreViewController
UITabBarController
中显示的图标颜色(灰色)。可自定义标签栏的最佳解决方案是实现它(或使用一些库)。
谢谢!
答案 3 :(得分:0)
您可以更改颜色,只需将标签栏控制器子类化,并在其视图中加载添加以下代码
override func viewDidLoad() {
super.viewDidLoad()
var view = self.moreNavigationController.topViewController.view as UITableView
view.tintColor = Utilities.mainColor()
view.separatorStyle = .None
}
您可以在此处查看我的问题:Change tint color of tabbar edit view controller