2011-05-12 50 views

回答

2

您是對的,UIEvent在爲一個手勢提供觸摸事件時被重用。從docs

表示觸摸 事件是持久的整個 多觸摸序列

甲的UIEvent對象; UIKit爲傳送到應用程序的每個事件 重複使用同一個UIEvent實例的 。您不應保留事件對象或 任何從事件 對象返回的對象。如果需要將 信息從 一個階段的信息保留到另一個階段,則應該複製 從UITouch或UIEvent對象獲取的信息。

我推測您的病例行爲與UIScrollView所做的特殊事件處理結果有所不同。滾動視圖延遲事件傳遞,因爲它們需要檢測用戶的滾動意圖(輕掃手勢)。所以他們必須有一種方法來保持UIEvents - 可能會複製它們以確保它們保持原始狀態。這可能是你看到不同物體的原因。

請注意,以上所有隻是猜測。

3

UITouch對象將是相同的,但它們被打包在一個新事件中。

+1

當然aurioTouch沒有錯誤?行爲是否改變了,還是我誤解了示例應用程序代表的工作方式?查看pinchEvent的用法。 – 2011-05-12 18:46:36

相關問題