美文网首页
系统导航栏侧滑缺失

系统导航栏侧滑缺失

作者: DSA碼侬 | 来源:发表于2020-12-15 18:06 被阅读0次

    例如:
    控制器A内设置:

    - viewWillAppear:中
    self.navigationController.navigationBarHidden = YES;
    - viewWillDisappear:中
    self.navigationController.navigationBarHidden = NO;
    

    要求控制器B的导航正常显示,所以在控制器B内什么都不需要做!

    控制器A-push->控制器B之后,再由控制器B侧滑至控制器A情况:

    控制器A:

    VCA.png

    控制器B:

    VCB.png

    侧滑过程中:

    侧滑过程中.png

    侧滑过程中,执行了控制器AviewWillAppear:的方法,导致如上图所示导航栏消失。
    解决办法有两个,分别如下:
    1、禁止侧滑

    // 在A中- viewDidLoad中添加如下代码禁止侧滑
        id traget = self.navigationController.interactivePopGestureRecognizer.delegate;
        UIPanGestureRecognizer * pan = [[UIPanGestureRecognizer alloc] initWithTarget:traget action:nil];
        [self.view addGestureRecognizer:pan];
    

    2、修改控制器A的导航栏的消失与显示

    - viewWillAppear:中
    [self.navigationController setNavigationBarHidden:YES animated:animated];
    - viewWillDisappear:中
    [self.navigationController setNavigationBarHidden:NO animated:animated];
    

    采用第二种方法之后:

    修复后.png

    相关文章

      网友评论

          本文标题:系统导航栏侧滑缺失

          本文链接:https://www.haomeiwen.com/subject/cbvwgktx.html