Какой эффект после перехода интерфейса?

В моем проекте есть VC и другие VC в качестве контейнера. Я пытаюсь использовать viewWillTransitionToSize метод, но после перехода Интерфейс дочернего VC(который находится в контейнере) не позволяет использовать на ощупь.

Я понятия не имею, что это за эффект или проблема. Кто-нибудь имеет представление о моей ситуации?

Спасибо за все ответы!

1 ответ

Решение

Я нашел решение этой проблемы. Если у вас есть такая же проблема, проверьте ваш viewWillTransitionToSize переопределить функцию. Все действия с размерами, видами, цветами, расположением должны выполняться вдоль перехода. Как это:

Swift 4.1

...
override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
    super.viewWillTransition(to: size, with: coordinator)
    coordinator.animate(alongsideTransition: { (_) in
        // there will be your handler for UI elements.
    }, completion: { (_) in 

    })
}
...

В моем проекте у меня есть UIPageVC, который существует страниц (VC). Я обрабатываю переход в функции PageVC для каждой страницы, кроме страницы (VC), которая отображается в момент перехода. И все работает. Это пример моего кода:

КлассMainPageViewController:

...
override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
    super.viewWillTransition(to: size, with: coordinator)
    coordinator.animate(alongsideTransition: { (_) in
        // handlers for my PageVC

        for vc in self.orderedViewControllers {
            if vc != self.orderedViewControllers[self.currentPageIndex{
                vc.viewWillTransition(to: size, with: coordinator)
            }
        }

    }) { (_) in
        print("\nDONE: PAGEVC Rotated.")
    }
}

Возможно, этот код поможет кому-нибудь в будущем.

Другие вопросы по тегам