首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UISwipeGestureRecognizer.Direction.down

UISwipeGestureRecognizer.Direction.down
EN

Stack Overflow用户
提问于 2018-09-20 04:35:28
回答 1查看 201关注 0票数 0

我已经为左/右设置了一个GestureRecognizer,但我也想为down (但不是向上)添加一个GestureRecognizer。当我应用以下内容时,在设备屏幕上按预期进行滑动;但是,UISwipeGestureRecognizer.Direction.down什么也不做。

代码语言:javascript
复制
func addGesture() {
    // Gesture recognizers
    let leftSwipe = UISwipeGestureRecognizer(target: self, action: #selector(self.swipeAction(swipe:)))
    leftSwipe.direction = UISwipeGestureRecognizer.Direction.left
    self.view.addGestureRecognizer(leftSwipe)

    let rightSwipe = UISwipeGestureRecognizer(target: self, action: #selector(self.swipeAction(swipe:)))
    rightSwipe.direction = UISwipeGestureRecognizer.Direction.right
    self.view.addGestureRecognizer(rightSwipe)

    let downSwipe = UISwipeGestureRecognizer(target: self, action: #selector(self.swipeAction(swipe:)))
    downSwipe.direction = UISwipeGestureRecognizer.Direction.down
    self.view.addGestureRecognizer(downSwipe)
}

我是在情节提要中遗漏了一个标识符,还是需要为设备识别向下滑动做些什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-24 05:22:50

代码语言:javascript
复制
func addGesture() {
    // Gesture recognizers

    let directions: [UISwipeGestureRecognizer.Direction] = [.left, .right, .down]
    for direction in directions {
        let gesture = UISwipeGestureRecognizer(target: self, action: #selector(self.swipeAction(swipe:)))
        gesture.direction = direction
        self.view.addGestureRecognizer(gesture)
    }

}

@objc func swipeAction(swipe:UISwipeGestureRecognizer) {
    if let swipeGesture = swipe as? UISwipeGestureRecognizer {
        switch swipeGesture.direction {


        case UISwipeGestureRecognizer.Direction.left:
            print("Swiped left")    
            let vc = self.storyboard!.instantiateViewController(withIdentifier: "ViewController5") as! ViewController5
            vc.hero.modalAnimationType = .fade
            hero.replaceViewController(with: vc)

        case UISwipeGestureRecognizer.Direction.right:
            print("Swiped right")
            let vc = self.storyboard!.instantiateViewController(withIdentifier: "ViewController") as! ViewController
            vc.hero.modalAnimationType = .fade
            hero.replaceViewController(with: vc)

        case UISwipeGestureRecognizer.Direction.down:
            print("Swiped down")
            let vc = self.storyboard!.instantiateViewController(withIdentifier: "ViewController3") as! ViewController3
            vc.hero.modalAnimationType = .pull(direction: .down)
            hero.replaceViewController(with: vc)

        default:
            break
        }
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52417664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档