【问题标题】:setTint not workingsetTint 不工作
【发布时间】:2012-04-12 09:39:28
【问题描述】:

我一直在寻找在 iOS 5.1 上更改 UINavigationBar 的色调。

我有一个带有两个 UINavigationController 的 UITabBarController,下面的代码放在自定义的 UINavigationController 中:

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [self.navigationController.navigationBar setTintColor:[UIColor blackColor]];
}

...但这没有任何作用。

提前致谢。

【问题讨论】:

    标签: ios5 uinavigationbar


    【解决方案1】:

    如果您将UINavigationController 子类化(并且在UINavigationController 中没有UIViewController,这是最常见的),那么您应该这样做:

    - (void)viewWillAppear:(BOOL)animated
    {
        [super viewWillAppear:animated];
        [self.navigationBar setTintColor:[UIColor blackColor]];
    }
    

    因为self 已经是一个导航控制器。否则,您的代码将可以正常工作(即,您有一个 UIViewController 或其子类之一,并且您已通过代码或通过 Interface Builder 将其嵌入到 UINavigationController 中)

    【讨论】:

      【解决方案2】:

      试试这个

      • (void)viewWillAppear:(BOOL)动画 { [超级viewWillAppear:动画]; self.navigationController.navigationBar.tintColor = [UIColor orangeColor]; }

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-08-12
        • 1970-01-01
        • 1970-01-01
        • 2021-01-10
        • 1970-01-01
        • 2019-01-19
        • 1970-01-01
        • 2018-12-22
        相关资源
        最近更新 更多