gpt4 book ai didi

ios - 取消 IBAction 的滑动手势触发 Segue

转载 作者:行者123 更新时间:2023-11-28 09:01:39 27 4
gpt4 key购买 nike

我在 View Controller 中有一个滑动手势,工作正常并向输出报告。像这样简单的东西:

 @IBAction func leftSwipe(sender: UISwipeGestureRecognizer) {
println("ok")
}

但后来我采用了相同的手势识别器并为其附加了一个 segue,这将导致它在检测到滑动时模态切换 View Controller 。我通过简单的控制点击在 Storyboard 中完成了这一切,将手势识别器拖动到我想要更改的 View Controller ,然后选择其中一个 segue 动画选项。它按预期工作,当我滑动 View Controller 更改为另一个时,但是...... IBAction 完全停止工作,我什至使用了一个断点并且它永远不会在那里中断。触发的 segues 是否正常取消其他发送的 Action ?我总是可以添加另一个手势识别器,但这种行为正常吗?

小更新:添加一个新的手势识别器工作正常,它可以用 IBAction 识别,但现在以前的手势不起作用, View Controller 也没有改变。

解决方案:感谢 Firas 为我指明了正确的方向,我找到了 apple 解释的 prepareForSegue 方法 here我在发送 segue 的 View Controller 中实现了这样的方法:

 override func  prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "yourSegueID" {
println("segue happened, so the gesture did too!")
}
}

也许将 segue 与这样的手势相关联可能会出现问题,但对于我的实现,我真的看不到任何可能发生的事情。

最佳答案

您可以做的是从 viewController 而不是 gestureRecognizer 获取 segue,然后为该 segue 提供一个标识符,比方说 segueIdentifier,然后在您的操作上调用 self.performeSegueWithIdentifier... 或执行其他操作。

每当您直接从 View 或手势识别器创建 segue 时,该 View /gestureRecognizer 上的操作将不会执行

关于ios - 取消 IBAction 的滑动手势触发 Segue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31882930/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com