2012-08-10 37 views
0

我的看法现在包含3 uitabbaritem。在第一个选项卡,我按照无法命名标题为导航栏添加segmentcontroller后titleView

-(void)viewDidLoad { 

    // Enable 'segmentControl' on navigation bar 
    self.navigationItem.titleView    = self.segmentedControl; 
} 

添加segmentcontrollerself.navigationItem.titleView什么最终是

enter image description here

接下来,当我切换到第二uitabbaritem,我隐藏segmentcontroller和名称导航标题如下

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item { 
    if (item.tag == 1) { 
     self.navigationItem.titleView.hidden = NO; 
    } 

    if (item.tag == 2) { 
     self.navigationItem.titleView.hidden = YES; 
     self.title   = @"support"; 
    } 
} 

但是,点击第二个uitbarbatitem后,标题不显示在导航栏上。 enter image description here

如果您知道我做错了什么,请咨询我。谢谢

回答

1

当存在titleView集时,不显示title,无论它是否隐藏。您必须将titleView设置为nil

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item { 
    if (item.tag == 1) { 
     self.navigationItem.titleView = self.segmentedControl; 
     self.title = nil; 
    } 

    if (item.tag == 2) { 
     self.navigationItem.titleView = nil; 
     self.title = @"support"; 
    } 
} 
+0

像魅力一样工作。谢谢 – tranvutuan 2012-08-10 15:19:39