繁体   English   中英

当使用滑动手势识别器转到Swift中的另一个视图时如何执行操作

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM