在 Xcode 中调用“touches-cancelled”方法

Posted

技术标签:

【中文标题】在 Xcode 中调用“touches-cancelled”方法【英文标题】:call "touches-cancelled" method in Xcode 【发布时间】:2014-03-27 07:12:57 【问题描述】:

我将一个按钮作为 spriteNode 添加到场景中,并且我想在触摸取消时运行一个动作。

我添加了一个“touches-cancelled”方法并写了一个“NSLog”来测试这个方法是否被调用。运行项目后,没有输出显示此方法被调用。

如何对我的按钮运行“取消触摸”方法?

【问题讨论】:

触摸取消仅在发生意外事件(如电话)时调用。尝试覆盖touchesEnded: 你想在按钮被触摸时调用一个方法吗?或者当按钮按下被取消或整体触摸被取消时? 我调用了一个方法,当用户点击按钮时改变按钮的图像。当用户将手指移出按钮时,我想要另一种方法将图像更改回之前的图像。 【参考方案1】:

为了能够在基于 touchPosition 的按钮节点上有效地实现类似 touchesCancelled 的功能,您需要将 SKSpriteNode 子类化为按钮。它必须自己实现触摸代理。

可以在此答案中找到如何执行此操作的示例:

https://***.com/a/19199748/2043580

它包含在-touchesMoved 方法中当接触点超出节点边界时将纹理设置回未选中状态的代码。

【讨论】:

以上是关于在 Xcode 中调用“touches-cancelled”方法的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Xcode 4 中浏览方法调用层次结构?

无法在 xcode 项目中测试网络调用

IOS/XCODE:在其他类中调用 NSFetchedResultsController 方法

Xcode 9.2 Shell 脚本调用错误

Xcode 理解如何分析调用栈

在 Xcode 中调用“touches-cancelled”方法