ChavezChen / CWLateralSlide

One line of code to integrate 0 coupling side drawer!一行代码集成0耦合侧滑抽屉!
MIT License
1.28k stars 201 forks source link

导航二级页面关闭抽屉手势响应BUG #25

Closed gyzerocc closed 6 years ago

gyzerocc commented 6 years ago

我是在导航控制器的二级页面加的抽屉效果,抽屉从右边滑出

现在碰到的问题是关闭抽屉的手势和导航栏的pop手势之间有冲突。

就是侧滑时抽屉并没有被关闭,而调用到了导航栏的pop手势,抽屉的根控制器被pop掉了

以下是我的example代码:

import UIKit
import CWLateralSlide

class DrawerViewController: ViewController {

    // right item
    @IBOutlet weak var right: UIBarButtonItem!

    override func viewDidLoad() {
        super.viewDidLoad()

        cw_registerShowIntractive(withEdgeGesture: true) { [weak self] (direction) in
            guard let ss = self else { return }
            ss.clicked(ss.right)
        }
    }
    // right item clicked
    @IBAction func clicked(_ sender: UIBarButtonItem) {
        let vc = DrawerRightViewController()
        let bg = UIImage.create(with: .green)
        let configure = CWLateralSlideConfiguration(distance: 0, maskAlpha: 0.4, scaleY: 1.0, direction: .right, back: bg)
        cw_showDrawerViewController(vc, animationType: .default, configuration: configure)
    }

}
ChavezChen commented 6 years ago

是打开抽屉的手势 与 pop 手势冲突还是 关闭抽屉的手势与pop手势冲突哦,按照你描述的场景我猜是:向左划展示抽屉的时候被pop了界面吧?先确认一下情况啦。。因为关闭抽屉的手势理论上不会发生这种冲突。。或者来个gif看看具体表现。

gyzerocc commented 6 years ago

录了个视频。 需要下载下来看。

ChavezChen commented 6 years ago

是不是用了什么第三方的全屏返回手势呀。。他将我那个返回手势半路拦截到他那去了。

gyzerocc commented 6 years ago

有个取消根控制器交互的属性就好了,像我这样用得估计没几个人,哈哈😆

ChavezChen commented 6 years ago

你加我微信或者QQ 说吧。这个不太方便说呀。543438338。。。你这个应该是使用了某个第三方全屏返回。。你可以尝试在合适的地方把那个全屏返回关掉,比如在显示侧滑抽屉的时候关掉全屏返回,当抽屉收起来的时候打开全屏返回。。。

gyzerocc commented 6 years ago

没有啊,只有在根控制器上滑动才会pop到上个页面,在边缘就是正常的