從一個UIViewController中,我編程創建一個CustomUIView的約10個實例,並將它們放在[UIViewController視圖]上。UIView與UIViewController的通信
當任何一個CustomUIView的實例被觸動時,我想讓控制器知道並採取一些行動。
我想到了兩種方法可以做到這一點:
認購的UIViewController作爲觀察員參加了CustomUIView。然後當touchesBegan:withEvent:被觸發時,在UIViewController觀察者上調用一個方法。
使用[self.nextResponder touchesBegan:touches withEvent:event]將事件引發到UIViewController。
我已經實現了兩者,他們都工作正常。
問題:以編程方式創建的視圖與其UIViewController進行通信的最佳方式是什麼?這些路要走嗎?還是有第三種方式?
我在網上找到的資源非常善於解釋所有的可可「碎片」,但是我很難找到整體架構的最佳實踐。
好的。所以我只是在UIViewController中實現touchesBegan:withEvent:。那很好。唯一的問題是,我不知道如何獲得被觸摸的視圖的引用。想法? – Trevor
'[event allTouches]'會給你觸及事件,並且對於每次觸摸,你可以通過'touch.view'來找出觸摸發生在哪個視圖。參見[UITouch類的參考](http:// developer.apple.com/library/ios/#documentation/uikit/reference/UITouch_Class/Reference/Reference.html#//apple_ref/occ/cl/UITouch)。 – jtbandes