解决FDFullscreenPopGesture连续多个页面隐藏导航栏的BUG
https://www.jianshu.com/p/6533c7a55c34
下面的方法可以用FDFullscreenPopGesture实现相邻页面的导航栏任意交替隐藏和显示(主要解决连续多个页面隐藏导航栏出现的BUG)
实现方法:
- 在所有需要隐藏导航栏的页面加上如下代码
@property (nonatomic, assign) BOOL previousNaviBarShow;
#import "UINavigationController+FDFullscreenPopGesture.h"
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
// 在所有需要隐藏导航栏的页面加上这两行代码,所有需要显示导航栏的页面不做任何操作即可
self.fd_prefersNavigationBarHidden = YES;
[self.navigationController setNavigationBarHidden:YES animated:self.previousNaviBarShow];
}
- 在所有 由(显示导航栏页面)推出(隐藏导航栏页面)的地方,把要推出页面的
previousNaviBarShow
置为YES
demo效果图注解:
- demo中,隐藏导航栏的页面为品红色,显示导航栏的页面为橙黄色。
- demo中的页面,点击上面推出显示导航栏页面,点击下面推出隐藏导航栏页面。
- demo可以无限推出页面,GIF效果展示图只展示了七个页面(显-隐-隐-显-显-隐-显)
- 七个页面包含了连续隐藏导航栏、连续显示导航栏、由隐藏到显示、由显示到隐藏。
- 本人还测试了除此之外的多种显隐导航栏的情况,均不会出现BUG。有兴趣的朋友可以自行测试
作者:_moses
链接:https://www.jianshu.com/p/6533c7a55c34
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。