Я строю приложение Swift 3 со следующими раскадровку:AlertViewController в UIPageViewController
Слева (зеленый цвет) является UIPageViewController, который держит 2 NavigationController как 2 страницы. Это позволяет пользователю прокручивать между двумя частями приложения.
Проблема заключается в следующем. Я пытаюсь показать предупреждение в черном UIViewController.
Вот код, чтобы отобразить предупреждение:
override func viewDidAppear(_ animated: Bool) {
let alert = UIAlertController(title: "Hello", message: "World", preferredStyle: UIAlertControllerStyle.alert)
alert.addAction(UIAlertAction(title: "Cancel", style: UIAlertActionStyle.cancel, handler: { action in
alert.dismiss(animated: true, completion: nil)
}))
self.present(alert, animated: true, completion: nil)
}
Это работает, но я всегда получаю ниже предупреждение:
Presenting view controllers on detached view controllers is discouraged
Я также попытался с DispatchQueue.main.async
представить вид, но Я столкнулся с тем же предупреждением.
Однако я обнаружил, что если бы я установил контрольный контроллер (нижний) в качестве контроллера начального представления, он работает без предупреждения.
Итак, с помощью UIPageViewController означает, что страницы будут отстранены?
Что мне здесь не хватает? Я забыл связать вещи?
Хорошо, это сработало. Итак, я не могу представить представления из контроллеров внутри страниц? Я вынужден каждый раз использовать 'rootViewController'? – VPusher