2

这是我的问题(在Xcode 6.0.1上,使用iOS 7.1和8.0在Swift中编码):我将从一个查看另一个使用滑动手势识别器(与行动Segue“present modally”)。如何使用滑动手势识别器在Swift中执行另一个视图

在此之前,我使用按钮“next”从一个视图到另一个视图。我为此按钮创建了一个@IBAction,然后执行简单的println("test")

@IBAction func nextPressed(sender: AnyObject) { 
    println("test") 
}  

如果我跑我的应用程序,当我按下按钮接下来,我去下一个视图和“test”出现在CONSOL。

现在我对滑动手势识别器做同样的事情,比方说我为滑动手势识别器创建一个@IBAction(所以我按住Ctrl键点击视图顶部视图控制器图标旁边的手势图标,然后拖入代码中)。

@IBAction func swipeGestureDone(sender: AnyObject) { 
    println("test") 
}  

如果我跑我的应用程序,当我轻扫屏幕上,我去下一个视图但“测试”没有出现在CONSOL。当我使用滑动从一个视图转到另一个视图时,我无法弄清楚如何执行一个函数。很明显,因为对于按钮,没有针对滑动手势识别器的“已发送事件”。我不知道该怎么做。尽管在连接检查器中似乎一切都很好。

回答

0

将识别器的cancelsTouchesInView设置为true。它做它所说的。

+0

识别手势我试图做到这一点与代码'mySwipeGesture.cancelsTouchesInView = TRUE;并在属性检查器,但它显然没有按”改变。我仍然没有在CONSOL中打印**。 – magohamoth 2014-10-18 10:54:41

0

我有一个UITapGestureRecognizer类似的问题。以下是我发现的一些解决方案。他们没有在我的情况下工作,但也许他们会解决您的问题:

尝试选择对象的类型而不是AnyObject的UISwipeGestureRecognizer。

@IBAction func swipeGestureDone(sender: UISwipeGestureRecognizer) { 
    println("test") 
} 

另外,还要确保你的观点,加入

yourView.userInteractionEnabled = true 
相关问题