我有一个不使用自动版式的UIView,并且根据其在主 View 中X和Y坐标的百分比显示了一些组件。
以前,我本可以运行一个函数来更新它们在didRotateFromInterfaceOrientation中的位置,但是我看到现在iOS8中已弃用此功能。
我看过viewWillTransitionToSize,但是给出的结果很奇怪,而且似乎没有viewDidtransitionToSize函数。
设备旋转后,是否有一种简便的方法(在Swift中)运行函数?
最佳答案
viewWillTransitionToSize
委托(delegate)方法与符合 UIViewControllerTransitionCoordinator
的对象一起调用。协议(protocol)声明的方法是 animateAlongsideTransition(_:animation, completion:)
。您可以使用它来使代码在转换完成后执行。
override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
super.viewWillTransition(to: size, with: coordinator)
coordinator.animate(alongsideTransition: nil) { _ in
// Your code here
}
}