0

私の現在のビューには 3 が含まれていuitabbaritemます。segmentcontroller最初のタブで、次のように to を追加してself.navigationItem.titleViewいます

-(void)viewDidLoad {

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

結末は

ここに画像の説明を入力

次に、2 つ目の 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";
    }
}

しかし、2番目のuitbarbatitemをクリックした後、ナビゲーションバーにタイトルが表示されません.. ここに画像の説明を入力

私が間違ったことを知っているなら、私にアドバイスしてください。ありがとう

4

1 に答える 1

1

非表示かどうかに関係なくtitletitleViewセットがある場合は表示されません。を に設定する必要があり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";
  }
}
于 2012-08-10T15:15:26.550 に答える