UISwipeGestureRecognizer.Direction.down
UISwipeGestureRecognizer.Direction.down
我已经为 left/right 设置了一个 GestureRecognizer,但我还想为向下(但不是向上)添加一个 GestureRecognizer。当我应用以下内容时,向上滑动在设备屏幕上按预期工作;但是,UISwipeGestureRecognizer.Direction.down 什么都不做。
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)
}
我是否在故事板转场中遗漏了一个标识符,或者我是否需要做其他事情才能让设备识别向下滑动?
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
}
}
}
我已经为 left/right 设置了一个 GestureRecognizer,但我还想为向下(但不是向上)添加一个 GestureRecognizer。当我应用以下内容时,向上滑动在设备屏幕上按预期工作;但是,UISwipeGestureRecognizer.Direction.down 什么都不做。
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)
}
我是否在故事板转场中遗漏了一个标识符,或者我是否需要做其他事情才能让设备识别向下滑动?
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
}
}
}