簡體   English   中英

將向上滑動手勢識別器添加到模態視圖

[英]Add swipe-up gesture recognizer to a modal view

我想向以模態呈現的視圖添加一個向上滑動識別器。 然而,似乎向上滑動和向下滑動手勢是為在模態呈現的視圖中關閉視圖而保留的。 當我將識別器設置為識別向左或向右滑動時,它工作得很好,但是當我將其設置為識別向上滑動時,它不起作用。 我該如何解決這個問題?

添加委托並覆蓋手勢:

class VC2: UIViewController {
    

    override func viewDidLoad() {
        super.viewDidLoad()
        let direction: UISwipeGestureRecognizer.Direction = .up
        let gesture = UISwipeGestureRecognizer(target: self, action: #selector(swipeAction(sender:)))
        gesture.direction = direction
        gesture.delegate = self
        self.view.addGestureRecognizer(gesture)
    }
    
    @objc func swipeAction(sender: UISwipeGestureRecognizer) {
       print(sender.direction)
     }
}

extension VC2: UIGestureRecognizerDelegate {
    func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
        return true
    }

    func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRequireFailureOf otherGestureRecognizer: UIGestureRecognizer) -> Bool {
        return false
    }

    func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldBeRequiredToFailBy otherGestureRecognizer: UIGestureRecognizer) -> Bool {
        return true
    }

    func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
        return true
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM