0
我有一種觀點,有時候會被其他觀點所覆蓋。但是,如果用戶在屏幕上滑動手指,我也想在屏幕上滑動底層視圖。如何全球攔截觸摸事件?
我可以開始爲所有覆蓋子視圖並轉發各種觸摸事件的自定義視圖,但這有點麻煩。也許有某種通知或者UIView或UIControl子類可以知道現在發生的觸摸事件的另一種方式,無論它們在哪裏。
簡而言之:我需要一個UIView子類或UIControl子類,它知道在整個屏幕上發生的任何觸摸事件。或者至少如果這是不可能的,知道在同一底層超視圖中發生的任何觸摸事件。
另外描述:有20個視圖,全部都駐留在同一個superview中。第一種觀點被其他19個人所覆蓋。但是,如果用戶在屏幕上滑動,那麼第一個視圖也必須滑動,所以它必須知道觸摸事件。
有沒有更好的解決方案,使所有19個視圖向前觸摸事件? (是的,在這個例子中,所有19個視圖都對觸摸事件做出響應)
好吧,不是。這可能在某些情況下工作。不幸的是,如果已經有人在某處觸摸了某個觸摸點,觸摸就消失了。 – dontWatchMyProfile 2010-04-20 15:26:29
對不起,如果我不夠清楚。因此,您可以在父UIView中捕捉觸摸,然後循環執行hitTest的所有子項子視圖,以查看哪些觸摸也受到影響。 – adam 2010-04-20 15:34:24