在iOS 11
中,ViewController新增了兩個方法,可以隱藏底部黑色橫條(官方叫HomeIndicator
),以及避免底部手勢沖突的方法。
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);