iOS 8 之后UINavigationController新特性

iOS 8 之后,UINavigationController 为开发者提供了一些好用的功能,这些功能以前实现起来可能比较麻烦,而现在只需要一个属性就搞定了。

1. 横屏时,导航栏自动消失

self.navigationController.hidesBarsWhenVerticallyCompact = YES;
iOS 8 之后UINavigationController新特性
1.gif

2. 单击屏幕时,导航栏自动消失

self.navigationController.hidesBarsOnTap = YES;
iOS 8 之后UINavigationController新特性
2.gif

3. 弹出键弹时,导航栏自动消失

self.navigationController.hidesBarsWhenKeyboardAppears = YES;
iOS 8 之后UINavigationController新特性
3.gif

4. 滑动屏幕时,导航栏自动消失

self.navigationController.hidesBarsOnSwipe = YES;
iOS 8 之后UINavigationController新特性
4.gif

经测试,这个属性适用于WebView、UITableView、UICollectionView,但是注意:

  • 导航条隐藏时会出现大黑条遮住状态栏,且导航条不会自动再显示出来;
  • 当多个可滚动的控件同时出现的时候,离导航栏最近的那个视图滚动时会响应,其余滚动的时候不响应。