pujiaxin33/JXPagingView

从一个隐藏导航栏的vc跳转到另一个隐藏导航栏的vc,然后再次跳转到系统导航栏vc

Open

#348 opened on May 13, 2021

View on GitHub
 (3 comments) (0 reactions) (0 assignees)Objective-C (604 forks)github user discovery
help wanted

Repository metrics

Stars
 (3,044 stars)
PR merge metrics
 (PR metrics pending)

Description

bug描述 首先有一个隐藏导航栏的vcA,另外一个隐藏导航栏的vcB,一个正常系统导航栏的vcC 1.vcA中使用了jxcategoryView和jxcategoryview,vcA是一个导航控制器的根控制器 2.vcB中使用了jxpagerview和jxcategoryview嵌套,vcB中实现了系统边缘侧滑返回,代码如下:

- (void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
    self.navigationController.navigationBar.hidden = YES;
    self.navigationController.interactivePopGestureRecognizer.enabled = NO;
    self.navigationController.fd_fullscreenPopGestureRecognizer.enabled = NO;
}

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    self.navigationController.interactivePopGestureRecognizer.enabled = (self.categoryView.selectedIndex == 0);
}
- (void)viewWillDisappear:(BOOL)animated{
    [super viewWillDisappear:animated];
    self.navigationController.navigationBar.hidden = NO;
    self.navigationController.interactivePopGestureRecognizer.enabled = YES;
    self.navigationController.fd_fullscreenPopGestureRecognizer.enabled = YES;
}
- (void)viewDidLoad {
    [super viewDidLoad];
   
    [self.pagerView.listContainerView.scrollView.panGestureRecognizer requireGestureRecognizerToFail:self.navigationController.interactivePopGestureRecognizer];
    [self.pagerView.mainTableView.panGestureRecognizer requireGestureRecognizerToFail:self.navigationController.interactivePopGestureRecognizer];
 
}

3.vcC中的代码

- (void)viewDidLoad {
    [super viewDidLoad];
    self.navigationItem.title = @"发布动态";
    
}

1.先从vcA(隐藏导航栏)先push进vcB(隐藏导航栏) 2.从vcB返回vcA的时候,侧滑屏幕左边缘向右,pop正常返回 3.此时,再从vcA(隐藏导航栏)再push进vcC(系统导航栏),当从vcC侧滑屏幕左边缘pop的时候,vcC的pop效果会很敏感,意思是只要我手指侧滑了一点距离,vcC都会自动pop回vcA,而且pop的效果很缓慢(正常情况下pop的时候,手指得滑动一些距离,系统才会判定pop) 具体bug效果可以看下面的链接图

版本号 1.JXPagingView版本号:2.0.0 2.OC还是Swift版本:OC 3.手机系统版本号:iOS 13.6 4.手机型号:iPhoneX

复现步骤

看上面描述,具体bug看下图

(全部附近vcA)点击 进入(热门,附近,最新vcB),然后仔vcB侧滑pop回到vcA 此时vcA点击(发布动态)进入(动态vcC),在vcC边缘侧滑的时候,手指只是向左滑动了一点距离,vcC就pop会vcA了 模拟器不太好复现,不是很明显;真机很容易复现

视频从14s左右看 https://user-images.githubusercontent.com/26817910/118123478-e5acdc00-b426-11eb-959d-142f3b562b93.mp4

截图、GIF 提供bug出现时的截图或者GIF。

Contributor guide