系统导航右侧按钮侧滑变灰

需求:自定义返回按钮之后,能正常使用系统侧滑返回。

问题:自定义返回按钮之后,发现侧滑返回时,系统导航右侧按钮侧滑会变灰。真机试了一下,也会有这个情况。

1.自定义返回按钮

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[RBImageNamed(@"nav_back") imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] style:UIBarButtonItemStylePlain target:self action:@selector(back)];

2.自定义导航控制器

  • 在viewDidLoad方法中添加
self.interactivePopGestureRecognizer.delegate = self;
  • 添加UIGestureRecognizerDelegate,实现delegate方法
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer {
    if (self.viewControllers.count <= 1 ) {
        return NO;
    }
    return YES;
}

按照网上的方法,本以为这样就结束了,然而却发现了另一个问题,如下图(问题重现:滑返回到一半,不返回上页,然后快速侧滑返回上页会出现这个问题)侧滑返回导航右侧按钮变灰

解决方案

找了半天确实没有找到有啥问题呢?试试自定义rightItem按钮试试吧。代码如下

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:rightButton];

侧滑返回导航右侧按钮正常

猜测:可能是系统问题吧,其他的机型和系统由于自身条件限制我没有去用真机测试,我的系统版本是11.3.1,机型是6p。有知道原因的可以留言!

猜你喜欢

转载自blog.csdn.net/wang1992326/article/details/81288001
今日推荐