1

各タブがナビゲーションコントローラーであるタブ付きアプリケーションを作成しようとしています。このタブバーは、ナビゲーションコントローラのすべてのビューに、各ビューで推測されるものとして表示されます。

詳細ビューのこのタブバーを、いくつかのボタンが付いたツールバーに置き換えたいと思います。

その詳細ビューのviewDidLoadで次のコードを試しました:メソッド

self.navigationController.toolbarHidden = NO;
self.navigationController.toolbar.barStyle = UIBarStyleBlackTranslucent;

UIBarButtonItem *accept = [[UIBarButtonItem alloc] initWithTitle:@"Accept"
                                                               style:UIBarButtonItemStyleBordered
                                                              target:self
                                                              action:nil];

UIBarButtonItem *decline = [[UIBarButtonItem alloc] initWithTitle:@"Decline"
                                                               style:UIBarButtonItemStyleBordered
                                                              target:self
                                                               action:nil];
NSArray *items = [NSArray arrayWithObjects:accept, decline, nil];
[self.navigationController.toolbar setItems:items animated:YES];

// code suggested
[self.view addSubview:self.navigationController.toolbar];

それでも表示されません。詳細ビューを表示しているビューに次の行を追加するために、タブバーを非表示にします。-

theDetailTableViewController.hidesBottomBarWhenPushed = YES;

私は何かを逃したことがありますか?

4

2 に答える 2

0

私は通常、viewWillAppearメソッドまたはviewDidAppearメソッドにtoolbarHidden=YESまたはNOを適用します。それがうまくいかない理由かどうかはわかりませんが、とにかく現在のビューに戻ったときに対処する必要があります。

対処しない場合は、戻ったときにツールバーが表示されたままになります。

于 2012-12-02T22:52:45.637 に答える
0

どこからでも detailViewController をプッシュしている場合は、詳細ビューでタブ バーを非表示にするには、次のようにします。

DetailViewController *detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];
detailViewController.hidesBottomBarWhenPushed = YES;
[self.navigationController detailViewController animated:YES];

詳細ビューでは、ToolBar をサブビューとして detailView に追加するだけです。

于 2012-12-02T20:43:20.303 に答える