簡體   English   中英

UIControl如何將所有觸摸事件傳遞到響應者鏈中的下一個對象?

[英]How can a UIControl pass all touch events on to the next object in the responder chain?

那很棘手。 我在很大的按鈕上有一個小按鈕。 當按下大按鈕上的小按鈕時,小按鈕會執行某些操作。 但是大公司什么也沒做。 當然。 但是現在我希望大按鈕也可以執行某些操作,無論是否輕按了小按鈕。 因此,小按鈕必須將所有觸摸事件轉發到該大按鈕。 最簡單的方法是什么?

我知道UIView,但是UIControl具有與UIView不同的觸摸處理方法。 在UIView中,可能看起來像這樣:

[self.nextResponder touchesBegan:touches withEvent:event];

您可以實現一個協議,讓大按鈕接收來自小按鈕的消息,盡管我要做的是在UIViewController中同時擁有兩個按鈕,但讓小按鈕告訴UIViewController它已被單擊(通過選擇器或協議),然后UIViewController可以相應地更新大按鈕。...更多有關協議的信息,請參見http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/Articles/ocProtocols.html

可能想看一下這篇文章該文章顯示了合成觸摸事件的方法。 不過,它停止了一段時間。 剛剛重新訪問它,似乎他已將其更新為3.0支持,因此它可能對您有用。 需要注意的是,對於運輸應用程序而言,它可能不合法。

一種更簡單的方法是,在點擊大按鈕並將其公開時,突破做該工作的方法(我們稱其為bigButtonWork )。 然后,大按鈕點擊處理程序將調用此例程。 當小按鈕被點擊時,您可以選擇在其處理程序內部執行自己的操作,或者調用bigButtonWork

但是我猜測您希望它模擬實際上被按下的大按鈕(包括高亮和狀態更改),因此您可能必須走綜合事件路線。

暫無
暫無

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

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