получить видовой контроллер UIView (iphone) - PullRequest
9 голосов
/ 11 июня 2010

Я сделал это, чтобы получить представление:

[self.superview viewWithTag:10]

Но как я могу получить контроллер представления этого представления.Точно так же, как вы можете получить представление viewcontroller, я хочу пойти другим путем, чтобы я мог отправить сообщение (вызвать метод) этому viewcontroller.Например:

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

(очевидно, что это не настоящий код, но я хочу что-то подобное)

Ответы [ 2 ]

23 голосов
/ 23 января 2011

Для этого можно использовать метод -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, который управляет им (если он имеетодин) или его суперпредставление (если это не так) "

12 голосов
/ 18 октября 2012

вы можете использовать

[yourUIView.window.rootViewController doSomething]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...