UIPageViewController - перейти на страницу - PullRequest
0 голосов
/ 06 ноября 2019

Кажется, есть критическая часть UIPageViewController, которую я не понимаю ... Есть 3 UIViewController, которые представлены pageviewcontroller. Я хочу, чтобы PVC всегда возвращался к среднему, когда пользователь прокручивает к первому или последнему.

Поскольку я использую массив контроллеров представления 'viewControllers', я бы предположил, что я мог бы обратиться кони по порядковому номеру, например, 0-2, поэтому с помощью оператора switch, например

        func pageViewController(_ pageViewController: UIPageViewController, didFinishAnimating finished: Bool, previousViewControllers: [UIViewController], transitionCompleted completed: Bool) {
        if completed {
            let visibleViewController = (pageViewController.viewControllers?.first)!
            let index = viewControllers.firstIndex(of: visibleViewController)!

            print("index: \(index)")

            switch index {
            case 2:
                pageViewController.setViewControllers([viewControllerAtIndex(1)!], direction: .reverse, animated: true, completion: nil)
            default:
                ()
            }
        }

    }

, выдает ошибку

index: 2 2019-11-06 15:37: 35.032067 + 0100 PageViewController_V4 [1442: 363715] * Ошибка подтверждения в - [_ UIQueuingScrollView _replaceViews: updateContents: AdjustContentInsets: animated:], /BuildRoot/Library/Caches/com.apple.xbs/Sit/Uit/IIK3900.12.15 / _UIQueuingScrollView.m: 395 2019-11-06 15: 37: 35.035516 + 0100 PageViewController_V4 [1442: 363715] * Завершение работы приложения из-за невыполненного исключения «NSInternalInconsistencyException», причина: «Недопустимый параметр не удовлетворяет: [количество просмотров] == 3 '*** Первый стек вызовов вызовов: (0x1b344f80c 0x1b3177fa4 0x1b3351c4c 0x1b37876f4 0x1b6e39f10 0x1b6e3d0fc 0x1b6e38fd8 0x1b794d604 0x1b9x91b9ea1908 0x1b9eac528 0x1b9df4ed0 0x1b9e1ebbc 0x1b9d5c960 0x1b438e930 0x1b33a4670 0x1b33cde40 0x1b33cd56c 0x1b33c8440 0x1b33c78a0 0x1bd31f328 0x1b74b8768 0x10450f2f0 0x1b3252360) Libc ++ abi.dylib: оканчивающиеся неперехваченного исключением типа NSException

Может кто-нибудь мне точку в правильном направлении ??

Спасибо

...