iPhone - Доступ к родительскому viewcontroller? - PullRequest
2 голосов
/ 13 января 2011

У меня есть 2 вида контроллеров A, B

  1. ViewController A отображается на экране
  2. Вид ViewController B добавлено в представление ViewController A.

Как я могу получить доступ к ViewController A из ViewController B без передачи указателя?

self.parentViewController не работает, возвращает ноль

Ответы [ 2 ]

1 голос
/ 13 января 2011

Почему представление viewController B добавляется к представлению viewController A? Если вы хотите добавить представление в viewController A, это можно сделать, выделив новый UIView и отобразив его поверх текущего представления.

С другой стороны, если вы пытаетесь перейти от одного контроллера представления к другому, то есть перейти от A к B и затем обратно к A, вы должны использовать UINavigationController, как указано в Руководстве по программированию контроллера представления в документации Apple.

Источник: Просмотр руководства по программированию контроллера

EDIT : если вы хотите использовать [[self parentViewController] yourMethodHere];, вам потребуется иерархия представления, для которой вы можете использовать UINavigationController. В вашей текущей схеме нет построенной иерархии, поэтому нет родительского контроллера представления.

0 голосов
/ 13 января 2011

Это должно работать, хотя и не очень элегантно:

UIViewController* viewControllerA = 
    (UIViewController*) [[self.view superview] nextResponder];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...