PresentingViewController - это nil при использовании presentViewController: анимированный: завершение: в iOS 8
Интересно, что недавно кто-то столкнулся с этой проблемой...
Для одного из контроллеров моего представления, только на iOS 8, после вызова presentViewController:animated:completion:
, представленный контроллер представления имеет self.presentingController
как ноль. Это нормально на iOS7, а также не происходит на другом контроллере представления.
documentation говорит, что он должен быть установлен, если представленный контроллер представления был представлен модально. Учитывая, что он работает в iOS 7, может ли это быть ошибкой iOS 8?
Мне удалось обойти это, используя подход контейнеров с контейнером вида, но было бы хорошо, если бы кто-то это видел раньше и знает причину, вызвавшую это поведение.
спасибо
Ответы
Ответ 1
Имел аналогичную проблему с iOS 8, где presentingController
равен нулю при проверке значения в viewDidLoad
.
Когда вызывается viewDidLoad
, нет никакой гарантии, что иерархия диспетчера представлений загружена в дереве навигации. Перемещение логики на более позднюю стадию (например: viewWillAppear
) должно решить эту проблему, поскольку к ней должен быть загружен presentingController
.