UIPageViewController как root просмотр контроллера. Кажется отстраненным и глючит время от времени - PullRequest
0 голосов
/ 02 апреля 2020

У меня есть UIPageViewController в качестве моего root контроллера представления, установленного в моей раскадровке. После странного поведения сегментов от дочерних контроллеров представления, сообщающих об отключенном состоянии, я добавил set key key и подключил к навигационному контроллеру + pagev c. Тем не менее, я получаю случайные черные экраны и глючное поведение при выходе из фона и открытии приложения. ie некоторые случаи, когда мои подчиненные контроллеры имеют нулевое значение или текущий индекс отключен.

У меня нет сообщений о сбоях, поэтому мне было трудно найти причину root проблем, которые я ' Видел.

Раскадровка:

enter image description here

Мой делегат приложения. Я установил ключевое окно, потому что я получал предупреждения в точке.

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

        self.window = UIWindow(frame: UIScreen.main.bounds)

        let storyboard = UIStoryboard.init(name: "Main", bundle: nil)
        let viewController = storyboard.instantiateViewController(withIdentifier: "PageViewController") as! PageViewController
        let navigationController = UINavigationController.init(rootViewController: viewController)
        self.window?.rootViewController = navigationController
        self.window?.makeKeyAndVisible()

        return true
    }

PageViewControlle r

    override func viewDidLoad() {
        super.viewDidLoad()
        self.delegate = self
        self.dataSource = self
        self.definesPresentationContext = true
        self.edgesForExtendedLayout = [];
        // Do any additional setup after loading the view.

        let yourPodcastViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "YourPodcastViewController") as! YourPodcastViewController
        let appearancesViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "AppearancesViewController") as! AppearancesViewController
        subViewControllers = [yourPodcastViewController, appearancesViewController]
        setViewControllers([subViewControllers[0]], direction: .forward, animated: true, completion: nil)

Не уверен, куда я мог идти неправильно - что-нибудь выделяется?

...