有很多應用中,會發現在在滾動試圖,點擊試圖,滑動試圖的時候,導航欄自動隱藏和顯示,當時我的想法就是在觸發事件中做操作(手動隱藏和顯示導航欄),后來發現這個功能系統其實就可以幫忙實現,下面就簡單介紹一下,UINavigationController中的幾個屬性。
1、hidesBarsWhenKeyboardAppearss屬性,
self.navigationController.hidesBarsWhenKeyboardAppears = YES; // 當鍵盤彈出的時候,導航欄自動隱藏,默認NO,注意:如果只設置這個屬性為YES,鍵盤出現的時候,導航欄就自動隱藏了,但是之后無論怎么操作,導航欄都不會再顯示出來,所有需要配合hidesBarsOnSwipe或者hidesBarsOnTap使用,這樣的話,導航欄就能自如的隱藏和展示了
2、hidesBarsOnSwipe屬性,
self.navigationController.hidesBarsOnSwipe = YES; // 上下滑動的時候,導航欄自動隱藏和顯示
3、hidesBarsOnTap屬性,
self.navigationController.hidesBarsOnTap = YES; // 點擊控制器的時候,導航欄自動隱藏和顯示
4、hidesBarsWhenVerticallyCompact屬性,
self.navigationController.hidesBarsWhenVerticallyCompact = YES; // 當導航欄的垂直size比較緊湊的時候,導航欄自動隱藏
5、interactivePopGestureRecognizer屬性,
這個屬性是只讀的,用來操作控制器的手勢返回滑動。
6、toolbarHidden屬性
toolbarHidden屬性默認是關閉的,
7、hidesBottomBarWhenPushed屬性,
該屬性默認NO,設置為YES的話,在導航欄push控制器的時候,自動將tabBar隱藏,隱藏之后不會自動顯示出來,還需手動設置