Какой эффект после перехода интерфейса?
В моем проекте есть 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.")
}
}
Возможно, этот код поможет кому-нибудь в будущем.