0

我现在的观点是包含 3 uitabbaritem。在第一个选项卡中,我segmentcontroller通过self.navigationItem.titleView以下方式添加

-(void)viewDidLoad {

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

结局是

在此处输入图像描述

接下来,当我切换到第二个 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后,标题并没有显示在导航栏上。。 在此处输入图像描述

如果您知道我做错了什么,请告诉我。谢谢

4

1 回答 1

1

有集合title时不显示titleView,无论是否隐藏。您必须将 设置titleViewnil

- (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";
  }
}
于 2012-08-10T15:15:26.550 回答