Почему мой UIViewController не используется в качестве presentingViewController, хотя его свойство presentViewController установлено? - PullRequest
1 голос
/ 20 марта 2012

Настройка на iOS iPad Simulator 5.0.1:

Root-контроллер X, UIViewController A , UIViewController B

A.definesPresentationContext = YES;
// Skipped: set modal presentation props.
[A presentViewController: B, animated: YES, completion: nil];

Если яотметьте A.presentedViewController, результат будет B - правильно.Если я проверю B.presentingViewController, результат будет X

Как это возможно?Это также приводит к проблеме, которую я не получаю в A , если B отклоняется (я переопределяю dismissViewController: в A ).

Что я должен сделать, чтобы сделать контроллер представления?

1 Ответ

2 голосов
/ 21 марта 2012

Методы [A presentViewController: B, animated: YES, completion: nil]; представляют контроллер B как модальный, а все модальные параметры представлены в rootViewController, поэтому для него ViewView Controller - X.

Если вы хотите узнать в A, когда B отклонен, вам придется запустить NSNotification в viewDidDisappear B, чтобы A мог перехватить это уведомление

...