我有一个应用程序使用Tabbar进行基本导航.从Tabbar的一个屏幕我想要输入另一个显示工具栏而不是Tabbar和顶部的后导航项目.
做这个的最好方式是什么?如果我使用“在推送时隐藏底栏”(又名hidesBottomBarWhenPushed)并在屏幕上添加工具栏,我可以看到在工具栏放置在屏幕底部之前移除Tabbar的动画.
解决方法
带工具栏的UITableViewController解决方案(需要代码)
使用this answer中的代码,我能够实现相同的效果,但工具栏位于表格视图的底部.
将其添加到表视图控制器:
- (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [self.navigationController setToolbarHidden:NO animated:YES]; } - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; [self.navigationController setToolbarHidden:YES animated:YES]; }
重要提示:将这些调用放在viewWillAppear和viewWillDisappear而不是viewDidLoad中会使这更容易处理,因为它可以可靠地工作,即使对于同一个视图控制器的多次推送和弹出,您也不必在之前清理它查看控制器.
并在故事板中配置如下:
此外,在故事板或代码中按下时,启用隐藏底栏,以便按下视图控制器.
然后,您可以将工具栏按钮添加到故事板中的工具栏.
构建并运行,你会得到这样的效果: