NavigationBar文字颜色不变?

时间:2013-06-28 09:30:39

标签: ios objective-c uinavigationcontroller

在我的UITabBar应用程序中,我在每个标签中添加了NavigationController。 假设当我打开app时所选索引为0.在我的第三个选项卡中(选择索引= 2)我想更改navigationBar title的文本颜色。我正在使用代码

   [[UINavigationBar appearance] setTitleTextAttributes:
             [NSDictionary dictionaryWithObjectsAndKeys:
              [UIColor greenColor],UITextAttributeTextColor,nil]];

但是它不会改变索引0和2的文本颜色。只有在使用上面的代码更改颜色之前没有单击该选项卡时,索引1的颜色才会改变。 我不知道这是什么问题?任何帮助/代码都会很明显。

2 个答案:

答案 0 :(得分:0)

使用此功能执行相关的Navigationbar标题更改:

- (void)viewDidLoad
{
    [super viewDidLoad];

    // Here you can set View width and height as per your requirement for displaying titleImageView position in navigationbar
    UIView *backView =[[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 40)];

    [backView setBackgroundColor:[UIColor clearColor]];
    UILabel *titleLbl =  [[UILabel alloc]initWithFrame:CGRectMake(45, 5, 180,30)];
    [titleLbl setFont:[UIFont fontWithName:@"Arial-BoldMT" size:18.0f]];
    [titleLbl setText:@"Review Her"];
    titleLbl.backgroundColor=[UIColor clearColor];
    [titleLbl setTextColor:[UIColor colorWithRed:0/255.0f green:136/255.0f blue:230/255.0f alpha:1.0f]];
    [backView addSubview:titleLbl];

    self.navigationItem.titleView = backView;
}

答案 1 :(得分:0)

更简单的实现是在感兴趣的UINavigationController内的UIViewController上更改navigationBar的tintColor属性。

在您的UIViewController中,在其中一个View Lifecycle方法中添加以下行:

self.navigationController.navigationBar.tintColor = [UIColor greenColor];