界面转换后的效果如何?
What the effect after interface transition?
在我的项目中有 VC 和其他 VC 作为容器。
我尝试使用 viewWillTransitionToSize
方法,但是在转换后子界面 VC(在容器中)无法通过触摸使用。
我不知道那是什么效果或问题。
有人知道我的情况吗?
感谢大家的回答!
我发现解决了这个问题。
如果您有同样的问题,请检查您的 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,它存在页面 (VCs)。我在 PageVC func 中为每个页面处理过渡,除了 page(VC),它在过渡时刻可见。所有作品。
这是我的代码示例:
MainPageViewController class:
...
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.")
}
}
也许这段代码将来会对任何人有所帮助。
在我的项目中有 VC 和其他 VC 作为容器。
我尝试使用 viewWillTransitionToSize
方法,但是在转换后子界面 VC(在容器中)无法通过触摸使用。
我不知道那是什么效果或问题。 有人知道我的情况吗?
感谢大家的回答!
我发现解决了这个问题。
如果您有同样的问题,请检查您的 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,它存在页面 (VCs)。我在 PageVC func 中为每个页面处理过渡,除了 page(VC),它在过渡时刻可见。所有作品。 这是我的代码示例:
MainPageViewController class:
...
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.")
}
}
也许这段代码将来会对任何人有所帮助。