我做這個拿到的觀點:得到的UIView的視圖 - 控制(iphone)
[self.superview viewWithTag:10]
但我怎麼能得到該視圖的視圖控制器。就像你可以得到viewcontroller的視圖一樣,我想以另一種方式去發送消息(調用一個方法)給那個viewcontroller。例如:
[[self.superview viewWithTag:10].viewController doSomething];
(顯然是不實際的代碼,但我想類似的東西)
我做這個拿到的觀點:得到的UIView的視圖 - 控制(iphone)
[self.superview viewWithTag:10]
但我怎麼能得到該視圖的視圖控制器。就像你可以得到viewcontroller的視圖一樣,我想以另一種方式去發送消息(調用一個方法)給那個viewcontroller。例如:
[[self.superview viewWithTag:10].viewController doSomething];
(顯然是不實際的代碼,但我想類似的東西)
可以使用-nextResponder
方法來做到這一點:
[(YourUIViewController *)[[self.superview viewWithTag:10] nextResponder] doSomething];
據http://developer.apple.com/library/ios/documentation/uikit/reference/UIResponder_Class/Reference/Reference.html#//apple_ref/occ/instm/UIResponder/nextResponder,「UIView的工具這個方法通過返回管理它的UIViewController對象(如果它有一個)或它的超級視圖(如果它沒有)「
你可以我們Ë
[yourUIView.window.rootViewController doSomething]
一些進一步的細節答案... http://stackoverflow.com/a/2596519/294884可能會幫助某人 – Fattie 2014-04-14 14:12:51
看看協議的目標C – Daniel 2010-06-11 18:52:48
重複http://stackoverflow.com/questions/1340434/get-to-uiviewcontroller-from-uiview-on-iphone,爲http://計算器。 com/questions/2367348 /如何獲取視圖控制器從uiview通過代碼 – user102008 2011-01-22 21:41:06
視圖不應該需要這樣做。 – 2010-06-11 19:12:53