繁体   English   中英

iOS-如何更改选项卡栏中图标的颜色moreViewController

[英]iOS - How to change color of icons in tab bar moreViewController

我想将moreNavigationController的图标(可能是徽章)的moreNavigationController从灰色更改为其他颜色。

我已阅读并成功更改了背景和文本的颜色。 我是通过“替换” moreViewController数据源来moreViewController (例如,在此处定制“标签”栏上的“更多”菜单 )。 但是,此处更新图标(以及textLabel值)无效。 是否可以将此灰色更改为白色(或其他颜色)? 还是我必须实现自己的tabBarController (有什么好的教程吗?)

PS。 我知道如何更改标签栏本身的图标,问题是如何在moreViewController执行此moreViewController

谢谢! 皮特

万一它仍然与任何人有关。 您可以更改moreViewController的tableView中显示的图标颜色:

self.tabBarController?.moreNavigationController.topViewController?.view.tintColor = UIColor.redColor()

更改标题就像这样:

self.tabBarController?.moreNavigationController.navigationBar.topItem?.title = "MyString"

更改编辑按钮:

self.tabBarController?.moreNavigationController.navigationBar.tintColor = UIColor.redColor()

您可以使用iOS 5中新增的外观代理来执行此操作。在应用程序委托的didFinishLaunching方法中:

[[UITabBar appearance] setSelectedImageTintColor:[UIColor redColor]];
In iOS 7 use:

[[UITabBar appearance] setTintColor:[UIColor redColor]];

有关更多详细信息,请参见UITabBar类参考。

好的,从对网络的长期研究和对该线程的答案来看,似乎无法在iOS7上更改UITabBarController moreViewController中显示的图标的颜色(灰色)。 可自定义标签栏的最佳解决方案是实施它(或使用某些库)。

谢谢!

您可以更改颜色,只需将标签栏控制器子类化,并在其视图中加载以下代码即可

  override func viewDidLoad() {
    super.viewDidLoad()
    var view = self.moreNavigationController.topViewController.view as UITableView
    view.tintColor = Utilities.mainColor()
    view.separatorStyle = .None
  }

有关更多信息,您可以在这里看到我的问题: 更改标签栏的色调颜色编辑视图控制器

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM