Cocoa Touch - 处理被打断或丢失的触摸

Posted

技术标签:

【中文标题】Cocoa Touch - 处理被打断或丢失的触摸【英文标题】:Cocoa Touch - Handling touches that get interrupted or lost 【发布时间】:2011-07-31 15:53:40 【问题描述】:

我的应用中有几个地方,当触摸结束时,UI 元素会自行重置。例如,隐藏虚线轮廓,将视图滑回默认位置。

问题在于,应用有时会丢失对触摸的跟踪。一个示例是,如果我向上滑动视图并导致 UIAlertView 显示,则视图不会向后滑动,因为重置代码处于触摸结束状态。触摸在 UIAlertView 处于活动状态时结束,并且视图不会重置。相同的示例适用于隐藏虚线轮廓。

我的问题是,我可以在哪里/如何处理这些自定义 UI 元素的重置,以便当触摸结束而没有被注意到时它仍然会重置。 TouchesEnded 并不总是为我做这件事。

【问题讨论】:

刚刚尝试使用取消触摸,但没有成功。 如果这不起作用,您应该提交一个错误。我想应该是这样的。 【参考方案1】:

您尝试过 touchesCancelled 吗?我认为它是在触摸被中断时调用的。

编辑:如果这不起作用,那么也许您可以在启动警报时手动添加取消触摸的代码。

【讨论】:

以上是关于Cocoa Touch - 处理被打断或丢失的触摸的主要内容,如果未能解决你的问题,请参考以下文章

《从零开始学Swift》学习笔记(Day 68)——Cocoa Touch设计模式及应用之响应者链与触摸事件

Cocoa Touch框架

可可触摸:如何找出被触摸的对象

Cocoa Touch UIWebView - 以编程方式与网页交互

Cocoa-touch - 用核心图形绘制到一个接触点

核心数据到 Cocoa Touch 框架