iOS APP 性能优化及加速启动

导航栏侧滑返回的一些坑

2020-02-20  本文已影响0人  _RG

在iOS中,一个模块一般是共用一套导航栏,
而在侧滑返回时,导航栏是固定不动的,只有控制器的页面会跟随手势移动而移动, 因此开发中会出现一些坑

场景1:
首页控制器(假设为Home控制器)导航栏隐藏,进入下一个控制器(假设为B )时显示
此时,从B侧滑返回Home时会有问题

如果Home的隐藏写在viewWillAppearviewWillDisappear里面, 那从B返回Home时,会先触发HomeviewWillAppear方法,侧滑还在B页面时,导航栏就会隐藏

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    self.navigationController.navigationBarHidden = YES;
    NSLog(@"%s",__func__);
}

- (void)viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    self.navigationController.navigationBarHidden = NO;
    NSLog(@"%s",__func__);
}

从图中可以看到,侧滑时导航栏会提前隐藏

translucent=NO

translucent=NO.gif

translucent=YES

test11102.gif

解决方式: https://github.com/iOSRG/RGNavigationController

喜欢的给个star吧

上一篇 下一篇

猜你喜欢

热点阅读