[英]How to perform an action when Swipe Gesture Recogniser is used to go to another View in Swift
这是我的问题(在Xcode 6.0.1上,使用iOS 7.1和8.0在Swift中进行编码) :我正在使用“手势手势识别器”(Action Segue“ present modally
”)从一个视图转到另一个视图。
在此之前,我使用按钮“ next
”从一个视图转到另一个视图。 接下来,我为该按钮创建了一个@IBAction
,它正在执行一个简单的println("test")
。
@IBAction func nextPressed(sender: AnyObject) {
println("test")
}
如果我运行我的应用程序,则当我按下“下一步”按钮时,我会转到下一个视图,并且控制台中会显示“ test
”。
现在,我对“滑动手势识别器”执行相同的操作,假设我为“滑动手势识别器”创建了一个@IBAction
(因此,我按住Ctrl键单击视图顶部视图控制器图标旁边的手势图标,然后将其拖入码)。
@IBAction func swipeGestureDone(sender: AnyObject) {
println("test")
}
如果我运行我的应用程序,则在屏幕上滑动时,我会转到下一个视图,但控制台中不会显示“ test ”。 当我使用“滑动”从一个视图转到另一个视图时,我不知道如何执行功能。 显然是因为没有针对滑动手势识别器的“已发送事件 ”。 我不知道该怎么做。 不过,在连接检查器中,一切似乎都连接良好。
将识别器的cancelsTouchesInView
设置为true
。 它按照它说的去做。
UITapGestureRecognizer也有类似的问题。 这是我找到的一些解决方案。 他们在我的案例中没有用,但是也许他们可以解决您的问题:
尝试使用UISwipeGestureRecognizer而不是AnyObject选择对象的类型。
@IBAction func swipeGestureDone(sender: UISwipeGestureRecognizer) {
println("test")
}
另外,通过添加以下内容确保您的视图可以识别手势
yourView.userInteractionEnabled = true
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.