我这样做是为了得到观点:
[self.superview viewWithTag:10]
但是我怎样才能获得该视图的viewcontroller。就像你可以获得viewcontroller的视图一样,我想转向其他方式,这样我就可以向该viewcontroller发送消息(调用方法)。例如:
[[self.superview viewWithTag:10].viewController doSomething];
(显然这不是实际的代码,但我想要这样的东西)
答案 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]