美文网首页
iOS自定义导航栏返回按钮出现的奇怪问题

iOS自定义导航栏返回按钮出现的奇怪问题

作者: 伊路顺峰 | 来源:发表于2024-04-22 14:34 被阅读0次

    今天测试提了一个问题:在TabBarViewControllercurrentViewController 页面屏幕左侧边缘向右滑一下(就是那种push到新页面后侧滑返回手势),点击当前页面的按钮或者其他View想要跳转到下一个ViewController ,发现跳转失败(实际不是跳转失败,而是新页面出现在了当前页面的下面,当前页面把新页面遮住了),我的项目类似于微信那样,有5个TabBarItem,对应有5个页面,在每个页面未跳转新页面前做这种侧滑手势都会出现这种问题。
    我这个项目由于要自定义导航栏返回按钮,所以我看到这个问题首先想到的是跟自定义返回按钮有关,众所周知,自定义返回按钮后侧滑手势就会失效,需要重写代理self.interactivePopGestureRecognizer?.delegate = self,重写代理后没有重写代理里面的方法,于是把这里面的方法好好看了一下(可参考网上文章),把问题锁定在 gestureRecognizerShouldBegin这个代理方法的实现上,在首页的时候,需要忽略手势,只有在push 到新的ViewController 后才需要识别手势:

    extension BaseNavigationController {
        //重写代理方法
        func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
            if (children.count <= 1) {
                return false
            }
            return true
        }
    }
    

    然后问题解决。

    相关文章

      网友评论

          本文标题:iOS自定义导航栏返回按钮出现的奇怪问题

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