У меня есть UIPageController, который содержит два subviewcontroller. При запуске я пытаюсь выполнить переход от SubViewControllerOne к LoginViewController, когда пользователь не авторизован. У меня есть view в viewDidAppear, например, так:
performSegue(withIdentifier: "authorizeSegue", sender: self);
Это приводит к неудачному переходу и предупреждению
Warning: Attempt to present <Volley.LoginViewController: 0x7f98bd801e00> on <Volley.SubViewControllerOne: 0x7f98bd608400> whose view is not in the window hierarchy!
В прошлом я успешно делал это с ViewControllers и TabBarViewControllers.
Когда я оборачиваю segu в таймере или запускаю через IBAction, segue работает отлично. Я считаю, что это как-то связано с PageViewController.
class PageViewController: UIPageViewController, UIPageViewControllerDataSource, UIPageViewControllerDelegate, UIScrollViewDelegate {
var subViewControllers = [UIViewController]()
override func viewDidLoad() {
super.viewDidLoad()
self.delegate = self
self.dataSource = self
self.edgesForExtendedLayout = [];
// Do any additional setup after loading the view.
let subViewControllerOne = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "SubViewControllerOne") as! SubViewControllerOne
let subViewControllerTwo = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "SubViewControllerTwo") as! SubViewControllerTwo
subViewControllers = [yourPodcastViewController, appearancesViewController]
setViewControllers([subViewControllers[0]], direction: .forward, animated: true, completion: nil)
}
required init?(coder: NSCoder) {
super.init(transitionStyle: .scroll, navigationOrientation: .horizontal, options: nil)
}
Контроллер навигации и PageViewController ![enter image description here](https://i.stack.imgur.com/thc0i.png)
Переход от SubViewControllerOne к LoginViewController ![enter image description here](https://i.stack.imgur.com/bD858.png)