如何隐藏 UINavigationBar 和 UITabBar 动画?
Posted
技术标签:
【中文标题】如何隐藏 UINavigationBar 和 UITabBar 动画?【英文标题】:How to hide UINavigationBar and UITabBar animated? 【发布时间】:2014-12-17 08:33:12 【问题描述】:我有一个UIViewController
和UINavigationBar
和UITabBar
。我想隐藏它们动画:UINavigationBar
向上翻转和UITabBar
向下翻转。在动画过程中,我需要 UIViewController
的视图自动调整大小以完成新帧。
怎么做?
我的结构是: UIViewController
被放置在UINavigationController
中作为rootViewController
,UINavigationControlle
r 被放置在UITabBarController
中作为childViewController
。
我已经尝试直接调整AppDelegate.window.frame
的大小,但它会使其他views.frame 不正确。
【问题讨论】:
您的UIViewController
是放在UINavigationController
中吗,或者您能否进一步详细说明您的结构?
【参考方案1】:
由于iOS8你可以使用:
self.navigationController.hidesBarsOnSwipe = YES;
信息
自 ios8 以来有很多不错的新方法:
UINavigationController
hidesBarsOnTap
:一个布尔值,指示导航控制器是否允许使用点击手势隐藏其栏。
hidesBarsOnSwipe
:一个布尔值,指示导航栏是否隐藏其栏以响应滑动手势。
hidesBarsWhenVerticallyCompact
:一个布尔值,指示导航控制器是否在垂直紧凑的环境中隐藏其栏。
hidesBarsWhenKeyboardAppears
:一个布尔值,指示导航控制器是否在键盘出现时隐藏其栏。
【讨论】:
以上是关于如何隐藏 UINavigationBar 和 UITabBar 动画?的主要内容,如果未能解决你的问题,请参考以下文章
UINavigationbar 将在 UISearchbar 结束搜索后显示,我如何隐藏导航栏
如何在 UINavigationBar 下方绘制主视图,以便当栏显示/隐藏时,视图不受影响?