我想在 swift 中左右滑动
i want to swipe right and left in swift
我在 xcode 7 ( swift ) 中有一个项目,我想加载在情节提要中设计的不同视图控制器,其功能是左右滑动并转到下一个 viewcontroller 或背部。
现在我有了这个,但只从右到左淡入,我想要两个淡入。
func respondToSwipeGesture(sender: UISwipeGestureRecognizer) {
switch sender.direction {
case UISwipeGestureRecognizerDirection.Right:
print("SWIPED DERECHA")
self.performSegueWithIdentifier("cambio2", sender: nil)
case UISwipeGestureRecognizerDirection.Left:
print("SWIPED IZQUIERDA")
self.performSegueWithIdentifier("cambio", sender: nil)
default:
break
}
}
UISwipeGestureRecognizer
应该只允许一个方向,你应该使用UIPanGestureRecognizer
.
let swipe = UIPanGestureRecognizer(target: self, action: "respondToSwipeGesture:")
self.view.addGestureRecognizer(swipe);
func respondToSwipeGesture(sender: UIPanGestureRecognizer) {
let point = sender.velocityInView(self.view)
//left or right
if point.x > 0 {
self.performSegueWithIdentifier("segue1", sender: nil)
}else{
self.performSegueWithIdentifier("segue2", sender: nil)
}
当然两个控制器都应该在 UINavigationController
故事板设置:
你的做法全错了。您需要研究交互式自定义转换。因此,例如,如果您想左右滑动以表示在导航控制器中按下和弹出,则实现导航控制器的委托 navigationController:animationControllerForOperation:fromViewController:toViewController:
和 navigationController:interactionControllerForAnimationController:
并从那里开始。
您还可以通过创建它的 2 个实例来使用 UISwipeGestureRecognizer。
每个方向一个。
var swipeLeft : UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: "swipe:")
swipeLeft.direction = UISwipeGestureRecognizerDirection.Left
var swipeRight : UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: "swipe:")
swipeRight.direction = UISwipeGestureRecognizerDirection.Right
self.view.addGestureRecognizer(swipeLeft)
self.view.addGestureRecognizer(swipeRight)
和滑动功能
func swipe(sender: UISwipeGestureRecognizer) {
switch sender.direction {
case UISwipeGestureRecognizerDirection.Right:
print("SWIPED DERECHA")
self.performSegueWithIdentifier("first", sender: nil)
case UISwipeGestureRecognizerDirection.Left:
print("SWIPED IZQUIERDA")
self.performSegueWithIdentifier("second", sender: nil)
default:
break
}
}
我在 xcode 7 ( swift ) 中有一个项目,我想加载在情节提要中设计的不同视图控制器,其功能是左右滑动并转到下一个 viewcontroller 或背部。 现在我有了这个,但只从右到左淡入,我想要两个淡入。
func respondToSwipeGesture(sender: UISwipeGestureRecognizer) {
switch sender.direction {
case UISwipeGestureRecognizerDirection.Right:
print("SWIPED DERECHA")
self.performSegueWithIdentifier("cambio2", sender: nil)
case UISwipeGestureRecognizerDirection.Left:
print("SWIPED IZQUIERDA")
self.performSegueWithIdentifier("cambio", sender: nil)
default:
break
}
}
UISwipeGestureRecognizer
应该只允许一个方向,你应该使用UIPanGestureRecognizer
.
let swipe = UIPanGestureRecognizer(target: self, action: "respondToSwipeGesture:")
self.view.addGestureRecognizer(swipe);
func respondToSwipeGesture(sender: UIPanGestureRecognizer) {
let point = sender.velocityInView(self.view)
//left or right
if point.x > 0 {
self.performSegueWithIdentifier("segue1", sender: nil)
}else{
self.performSegueWithIdentifier("segue2", sender: nil)
}
当然两个控制器都应该在 UINavigationController
故事板设置:
你的做法全错了。您需要研究交互式自定义转换。因此,例如,如果您想左右滑动以表示在导航控制器中按下和弹出,则实现导航控制器的委托 navigationController:animationControllerForOperation:fromViewController:toViewController:
和 navigationController:interactionControllerForAnimationController:
并从那里开始。
您还可以通过创建它的 2 个实例来使用 UISwipeGestureRecognizer。 每个方向一个。
var swipeLeft : UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: "swipe:")
swipeLeft.direction = UISwipeGestureRecognizerDirection.Left
var swipeRight : UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: "swipe:")
swipeRight.direction = UISwipeGestureRecognizerDirection.Right
self.view.addGestureRecognizer(swipeLeft)
self.view.addGestureRecognizer(swipeRight)
和滑动功能
func swipe(sender: UISwipeGestureRecognizer) {
switch sender.direction {
case UISwipeGestureRecognizerDirection.Right:
print("SWIPED DERECHA")
self.performSegueWithIdentifier("first", sender: nil)
case UISwipeGestureRecognizerDirection.Left:
print("SWIPED IZQUIERDA")
self.performSegueWithIdentifier("second", sender: nil)
default:
break
}
}