UITabbarController + UINavigationController,使用 UIToolbar 代替标签栏的详细视图

Posted

技术标签:

【中文标题】UITabbarController + UINavigationController,使用 UIToolbar 代替标签栏的详细视图【英文标题】:UITabbarController + UINavigationController, detail view with UIToolbar instead of tab bar 【发布时间】:2010-10-26 08:32:24 【问题描述】:

在我的主窗口 IB 文件中,我有一个 TabBarController,第一个控制器是一个导航控制器。当我推送我的详细视图(在表格视图中按下一个单元格之后)时,我想推送我的详细视图并显示一个工具栏而不是标签栏。问题是当我尝试

 tabBar.hidden = visible;

在我的详细视图控制器 (viewDidLoad) 中,标签栏在第一个视图和详细视图之间的动画完成之前消失。

按下图库中的一张图片时,可以在本机照片应用程序中看到我想要实现的目标。在那里,标签栏随着第一个视图的动画移出。

我如何做到这一点?

提前致谢

【问题讨论】:

您介意发布您的代码吗?调试困难。 【参考方案1】:

查看 UIViewController 的详细信息页面子类上的“hidesBottomBarWhenPushed”属性

要么重写此方法

- (BOOL)hidesBottomBarWhenPushed

    return YES;

或者我猜这会起作用:

self.hidesBottomBarWhenPushed = YES;

就显示工具栏试试:

- (void)viewWillAppear:(BOOL)animated

    [self.navigationController setToolbarHidden:NO animated:YES];

在路上

- (void)viewWillDisappear:(BOOL)animated

    [self.navigationController setToolbarHidden:YES animated:YES];

【讨论】:

感谢您的回答。这是来自另一个答案的一些附加代码,可以添加这些代码以在用户向下钻取时使工具栏保持可见。 ***.com/questions/1816614/… 太棒了!但不知道为什么self.navigationController.toolbar.hidden = YES; 不起作用! toolbarHiddentoolbar.hidden 有什么区别? 还必须在情节提要中选中以下复选框:1. 显示导航控制器的工具栏属性,2. 该工具栏的隐藏属性。

以上是关于UITabbarController + UINavigationController,使用 UIToolbar 代替标签栏的详细视图的主要内容,如果未能解决你的问题,请参考以下文章

UITabBarController

如何使屏幕仅垂直。 (UITabBarController/Swift)

UITabBarController简单介绍

UITabBarController

UITabBarController 上的 WYPopoverController 下降

iOS开发UI篇—UITabBarController简单介绍