iOS (Swift): представление контроллера представления, встроенного в контроллер навигации - PullRequest
0 голосов
/ 31 мая 2018

У меня есть UIViewController (AVC), который встроен в UINavigationController.AVC (присутствует модально) переходит к другому UIViewController (BVC).Внутри BVC переменная self.presentingViewController имеет необязательный тип NavigationController, а не AVC, как я и ожидал.

Я должен уменьшить первую childViewControllers как AVCследующим образом:

let pvc = self.presentingViewController
if let avc = pvc?.childViewControllers.first as? AVC {
    // ...
}

Почему self.presentingViewController не так, как я ожидал, то есть AVC?

Большое спасибо.

1 Ответ

0 голосов
/ 31 мая 2018

Чтобы получить к нему доступ

if let pvc = self.presentingViewController as? UINavigationController {
    if let avc = pvc.viewControllers.first as? AVC {
       // ...
    }
}

//

Из документов

Когда вы представляетеДля просмотра контроллера модально (явно или неявно) с использованием существующего (_: animated: завершение :) метода, представленный контроллер представления имеет это свойство, установленное для контроллера представления, который его представил.Если контроллер представления не был представлен модально, но один из его предков был, это свойство содержит контроллер представления, который представил предка.Если ни текущий контроллер представления, ни какой-либо из его предков не были представлены модально, значение в этом свойстве равно nil.

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