【发布时间】:2015-08-07 16:52:15
【问题描述】:
我在视图控制器中有一个滑动手势,可以正常工作并向输出报告。像这样简单的东西:
@IBAction func leftSwipe(sender: UISwipeGestureRecognizer) {
println("ok")
}
但随后我采用了相同的手势识别器并为其附加了一个 segue,这将导致它在检测到滑动时以模态方式切换视图控制器。我通过简单的控制单击在情节提要中完成了所有这些操作,将手势识别器拖到我想要更改的视图控制器,然后选择一个 segue 动画选项。它按预期工作,当我将视图控制器更改为另一个时,但是...... IBAction 完全停止工作,我什至使用了一个断点,它永远不会在那里中断。触发的 segues 是否会正常取消其他已发送的操作?我总是可以添加另一个手势识别器,但这种行为正常吗?
小更新: 添加新的手势识别器有效,并且可以使用 IBAction 进行识别,但现在之前的手势不起作用,视图控制器也没有改变。
解决方案: 感谢 Firas 为我指明了正确的方向,我找到了 apple here 解释的方法 prepareForSegue 我在视图控制器中实现了发送 segue 的方法,如下所示:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "yourSegueID" {
println("segue happened, so the gesture did too!")
}
}
也许将 segue 与这样的手势相关联可能会出现问题,但对于我的实现,我真的看不到任何可能发生的事情。
【问题讨论】:
标签: ios swift uigesturerecognizer uiswipegesturerecognizer