在iOS 11
中,ViewController新增了两个方法,可以隐藏底部黑色横条(官方叫HomeIndicator
),以及避免底部手势冲突的方法。
1.隐藏HomeIndicator
的方法:
// Controls the application's preferred home indicator auto-hiding when this view controller is shown.
- (BOOL)prefersHomeIndicatorAutoHidden API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos);
返回BOOl类型,返回YES隐藏HomeIndicator,经过测试发现,只要触摸页面就会重新出现,不操作页面一会会自动消失。主要适用于视频类等长时间不对页面做出交互的应用使用。
2.设置屏幕边缘系统手势与自带手势的优先级
// Controls the application's preferred screen edges deferring system gestures when this view controller is shown. Default is UIRectEdgeNone.
- (UIRectEdge)preferredScreenEdgesDeferringSystemGestures API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos);
返回的是一个枚举,控制该应用程序的首选屏幕边缘,在显示该ViewController
时推迟系统手势。默认的是UIRectEdgeNone
。
typedef NS_OPTIONS(NSUInteger, UIRectEdge) {
UIRectEdgeNone = 0,
UIRectEdgeTop = 1 << 0,
UIRectEdgeLeft = 1 << 1,
UIRectEdgeBottom = 1 << 2,
UIRectEdgeRight = 1 << 3,
UIRectEdgeAll = UIRectEdgeTop | UIRectEdgeLeft | UIRectEdgeBottom | UIRectEdgeRight
} NS_ENUM_AVAILABLE_IOS(7_0);