获取UIView视图控制器(iphone)

时间:2010-06-11 18:44:53

标签: objective-c iphone uiview uiviewcontroller

我这样做是为了得到观点:

[self.superview viewWithTag:10]

但是我怎样才能获得该视图的viewcontroller。就像你可以获得viewcontroller的视图一样,我想转向其他方式,这样我就可以向该viewcontroller发送消息(调用方法)。例如:

[[self.superview viewWithTag:10].viewController doSomething];

(显然这不是实际的代码,但我想要这样的东西)

2 个答案:

答案 0 :(得分:23)

您可以使用-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对象(如果有的话)或其超级视图(如果没有)来实现此方法”

答案 1 :(得分:12)

你可以使用

[yourUIView.window.rootViewController doSomething]