iOS 8
之後,UINavigationController
為開發者提供了一些好用的功能,這些功能以前實現起來可能比較麻煩,而現在只需要一個屬性就搞定了。
1. 橫屏時,導航欄自動消失
self.navigationController.hidesBarsWhenVerticallyCompact = YES;
複製程式碼

2. 單擊螢幕時,導航欄自動消失
self.navigationController.hidesBarsOnTap = YES;
複製程式碼

3. 彈出鍵彈時,導航欄自動消失
self.navigationController.hidesBarsWhenKeyboardAppears = YES;
複製程式碼

4. 滑動螢幕時,導航欄自動消失
self.navigationController.hidesBarsOnSwipe = YES;
複製程式碼

經測試,這個屬性適用於WebView、UITableView、UICollectionView,但是注意:
- 導航條隱藏時會出現大黑條遮住狀態列,且導航條不會自動再顯示出來;
- 當多個可滾動的控制元件同時出現的時候,離導航欄最近的那個檢視滾動時會響應,其餘滾動的時候不響應。