簡體   English   中英

將觸摸事件傳遞給View Controller的所有子視圖

[英]Passing a touch event to all subviews of a View Controller

我有一個視圖控制器,可以在其上創建多個子視圖。 所有子視圖和視圖控制器都接受觸摸。 如何將觸摸點信息傳達給屏幕上的所有子視圖? 請記住,每個子視圖都覆蓋整個屏幕,所以在添加一些后,它有點像書中的頁面。 也就是說,用戶無法直接觸摸頂部子視圖下方的任何子視圖。 我嘗試過使用[self.nextResponder touchesBegan:touches withEvent:event]但是這只會將頂部子視圖中的觸摸信息發送到超越屏幕上所有其他子視圖的超級視圖。 謝謝

我會把另一個子視圖放在一切上。 這將獲取您感興趣的所有觸摸並將它們傳遞回視圖控制器。 然后,您的視圖控制器將遍歷其所有子UIViews,為其提供事件。

即類似的東西

for (UIView *view in subviews)
  [view touchesBegan:touches withEvent:event];

雖然這是假設您要傳遞事件的所有子視圖都是視圖控制器的子視圖。

只在superview中使用觸摸方法。 從那里迭代所有子視圖並向他們發送觸摸方法。

或者,您可以將NSNotification發送到所有子視圖。 在subvews類中,您可以更好地控制並可以處理通知以執行某些任務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM