我正在尝试编写一个标签式应用程序,其中每个选项卡都是一个导航控制器。此选项卡栏显示在导航控制器中的每个视图上,因为它是在每个视图上推断的。
我想用一个带有几个按钮的工具栏替换详细视图上的这个标签栏。
我在详细视图的viewDidLoad:method
中尝试了以下代码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;
我错过了什么吗?
答案 0 :(得分:0)
无论您从哪里推送detailViewController,都要在详细视图中隐藏标签栏:
DetailViewController *detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];
detailViewController.hidesBottomBarWhenPushed = YES;
[self.navigationController detailViewController animated:YES];
并在详细视图中,只需将ToolBar作为子视图添加到detailView。
答案 1 :(得分:0)
我通常在viewWillAppear或viewDidAppear方法中使用toolbarHidden = YES或NO(如果适用)。我不确定这是不是为什么它不适合你,但你需要在回到现场观点时解决。
如果你没有解决它,当你回去时,工具栏仍然可见。