下面的方法可以用FDFullscreenPopGesture實現(xiàn)相鄰頁面的導(dǎo)航欄任意交替隱藏和顯示(主要解決連續(xù)多個頁面隱藏導(dǎo)航欄出現(xiàn)的BUG)
實現(xiàn)方法:
- 在所有需要隱藏導(dǎo)航欄的頁面加上如下代碼
@property (nonatomic, assign) BOOL previousNaviBarShow;
#import "UINavigationController+FDFullscreenPopGesture.h"
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
// 在所有需要隱藏導(dǎo)航欄的頁面加上這兩行代碼,所有需要顯示導(dǎo)航欄的頁面不做任何操作即可
self.fd_prefersNavigationBarHidden = YES;
[self.navigationController setNavigationBarHidden:YES animated:self.previousNaviBarShow];
}
- 在所有 由(顯示導(dǎo)航欄頁面)推出(隱藏導(dǎo)航欄頁面)的地方爆哑,把要推出頁面的
previousNaviBarShow
置為YES
demo效果圖:
GIF
[圖片上傳失敗...(image-75ec2e-1515515375524)]push
[圖片上傳失敗...(image-493049-1515515375525)]
[圖片上傳失敗...(image-b7ba80-1515515375525)]
[圖片上傳失敗...(image-b0136d-1515515375525)]
[圖片上傳失敗...(image-87497-1515515375525)]
[圖片上傳失敗...(image-e99687-1515515375525)]
[圖片上傳失敗...(image-166811-1515515375525)]pop
[圖片上傳失敗...(image-4a2d1-1515515375525)]
[圖片上傳失敗...(image-8746fb-1515515375525)]
[圖片上傳失敗...(image-3f5ad8-1515515375525)]
[圖片上傳失敗...(image-b685a0-1515515375525)]
[圖片上傳失敗...(image-52db4c-1515515375525)]
[圖片上傳失敗...(image-7f597e-1515515375525)]
demo效果圖注解:
- demo中妈踊,隱藏導(dǎo)航欄的頁面為品紅色,顯示導(dǎo)航欄的頁面為橙黃色泪漂。
- demo中的頁面,點擊上面推出顯示導(dǎo)航欄頁面歪泳,點擊下面推出隱藏導(dǎo)航欄頁面萝勤。
- demo可以無限推出頁面,GIF效果展示圖只展示了七個頁面(顯-隱-隱-顯-顯-隱-顯)
- 七個頁面包含了連續(xù)隱藏導(dǎo)航欄呐伞、連續(xù)顯示導(dǎo)航欄敌卓、由隱藏到顯示、由顯示到隱藏伶氢。
- 本人還測試了除此之外的多種顯隱導(dǎo)航欄的情況趟径,均不會出現(xiàn)BUG瘪吏。有興趣的朋友可以自行測試