在 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”方法的主要内容,如果未能解决你的问题,请参考以下文章