2011-05-12 51 views

回答

2

您是对的,UIEvent在为一个手势提供触摸事件时被重用。从docs

表示触摸 事件是持久的整个 多触摸序列

甲的UIEvent对象; UIKit为传送到应用程序的每个事件 重复使用同一个UIEvent实例的 。您不应保留事件对象或 任何从事件 对象返回的对象。如果需要将 信息从 一个阶段的信息保留到另一个阶段,则应该复制 从UITouch或UIEvent对象获取的信息。

我推测您的病例行为与UIScrollView所做的特殊事件处理结果有所不同。滚动视图延迟事件传递,因为它们需要检测用户的滚动意图(轻扫手势)。所以他们必须有一种方法来保持UIEvents - 可能会复制它们以确保它们保持原始状态。这可能是你看到不同物体的原因。

请注意,以上所有只是猜测。

3

UITouch对象将是相同的,但它们被打包在一个新事件中。

+1

当然aurioTouch没有错误?行为是否改变了,还是我误解了示例应用程序代表的工作方式?查看pinchEvent的用法。 – 2011-05-12 18:46:36

相关问题