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

系统导航栏侧滑缺失

作者: 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