如何隐藏 UINavigationBar 和 UITabBar 动画?

Posted

技术标签:

【中文标题】如何隐藏 UINavigationBar 和 UITabBar 动画?【英文标题】:How to hide UINavigationBar and UITabBar animated? 【发布时间】:2014-12-17 08:33:12 【问题描述】:

我有一个UIViewControllerUINavigationBarUITabBar。我想隐藏它们动画:UINavigationBar 向上翻转和UITabBar 向下翻转。在动画过程中,我需要 UIViewController 的视图自动调整大小以完成新帧。

怎么做?

我的结构是: UIViewController 被放置在UINavigationController 中作为rootViewControllerUINavigationController 被放置在UITabBarController 中作为childViewController

我已经尝试直接调整AppDelegate.window.frame 的大小,但它会使其他views.frame 不正确。

【问题讨论】:

您的UIViewController 是放在UINavigationController 中吗,或者您能否进一步详细说明您的结构? 【参考方案1】:

由于iOS8你可以使用:

self.navigationController.hidesBarsOnSwipe = YES;

信息

ios8 以来有很多不错的新方法:

UINavigationController

hidesBarsOnTap:一个布尔值,指示导航控制器是否允许使用点击手势隐藏其栏。

hidesBarsOnSwipe:一个布尔值,指示导航栏是否隐藏其栏以响应滑动手势。

hidesBarsWhenVerticallyCompact:一个布尔值,指示导航控制器是否在垂直紧凑的环境中隐藏其栏。

hidesBarsWhenKeyboardAppears:一个布尔值,指示导航控制器是否在键盘出现时隐藏其栏。

【讨论】:

以上是关于如何隐藏 UINavigationBar 和 UITabBar 动画?的主要内容,如果未能解决你的问题,请参考以下文章

如何隐藏 UINavigationBar

UINavigationbar 将在 UISearchbar 结束搜索后显示,我如何隐藏导航栏

如何在 UINavigationBar 下方绘制主视图,以便当栏显示/隐藏时,视图不受影响?

如何隐藏 UINavigationBar 但仍然向左滑动以自动返回手势?

UINavigationBar 隐藏按钮文本

UINavigationBar 在中断从左边缘手势向右滑动后显示返回按钮,如何隐藏它以及为啥显示它?