【问题标题】:How to change 'More' view controller tintColor of UITabBarController?如何更改 UITabBarController 的“更多”视图控制器 tintColor?
【发布时间】:2013-12-01 20:13:32
【问题描述】:

我有七个 UIViews 附加到导航控制器 - 每个都有一个图标如下 -

由于链接的页面超过 5 个 - 标签栏添加了更多图标 - 按下该图标时会显示带有更多菜单选项的子页面 -

子页面和后续链接有一个导航栏 - 我想将其更改为橙色以匹配应用程序的其余部分。我的问题是如何设置它的样式,因为它没有出现在情节提要中?

【问题讨论】:

  • 您是否已经以编程方式设置了 UIWindow 的 tint 颜色,或者在这种情况下是否有原因无法使用?

标签: ios uitabbarcontroller uinavigationbar


【解决方案1】:

您可以使用UITabBarControllermoreNavigationController 属性访问该视图控制器。

您可以在文档中阅读:

此属性始终包含有效的更多导航控制器,即使屏幕上未显示更多按钮。您可以使用该属性的值在标签栏界面中选择更多导航控制器或将其与当前选择的视图控制器进行比较。

因此你可以做类似的事情

self.tabBarController.moreNavigationController.navigationBar.tintColor = [UIColor orangeColor];

【讨论】:

    【解决方案2】:

    UIBarButtonItem 实例(如导航栏中的实例)从最近的已设置色调颜色的父视图中获取色调颜色。如果没有,他们使用默认的系统蓝色。 iOS 7 UI Transition Guide 描述了如何一次性为整个应用设置色调。

    文件检查器的 Interface Builder Document 部分中的 Global Tint 菜单可让您打开颜色窗口或选择特定颜色。

    【讨论】:

      【解决方案3】:

      您可以使用 tabBarController.moreNavigationController.view.tintColor = UIColor(color)。

      或者在 tabBarController 的子类中调用 viewDidLoad 中的 self.view.tintColor = UIColor(Color) 会影响更多的屏幕和编辑屏幕。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-11-12
        • 1970-01-01
        • 1970-01-01
        • 2015-05-07
        • 2015-04-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多