setTint不起作用

时间:2012-04-12 09:39:28

标签: ios5 uinavigationbar

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

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

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

......但这没有任何效果。

提前致谢。

2 个答案:

答案 0 :(得分:1)

如果你有UINavigationController的子类(并且UIViewController里面没有UINavigationController这是最常见的)那么你应该这样做:

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

因为self已经是导航控制器。否则你的代码就可以正常工作了(即你有一个UIViewController或者它的一个子类,你已经通过代码或通过Interface Builder将它嵌入到UINavigationController

答案 1 :(得分:0)

试试这个

  • (无效)viewWillAppear中:(BOOL)动画 { [super viewWillAppear:animated]; self.navigationController.navigationBar.tintColor = [UIColor orangeColor]; }