我有一个没有使用自动布局的UIView,一些组件是根据它们在主视图中X和Y坐标的百分比显示的.
以前我会运行一个函数来更新他们在DidRotateFromInterface中的位置,但是我发现这在iOS8中已经被弃用了.
我看过ViewWillTransitionOnToSize,但它给出了奇怪的结果,而且似乎没有ViewDidTransitionOnSize函数.
有没有一种简单的方法(在Swift中)在设备旋转后运行功能?
我有一个没有使用自动布局的UIView,一些组件是根据它们在主视图中X和Y坐标的百分比显示的.
以前我会运行一个函数来更新他们在DidRotateFromInterface中的位置,但是我发现这在iOS8中已经被弃用了.
我看过ViewWillTransitionOnToSize,但它给出了奇怪的结果,而且似乎没有ViewDidTransitionOnSize函数.
有没有一种简单的方法(在Swift中)在设备旋转后运行功能?
使用符合UIViewControllerTransitionCoordinator
的对象调用viewWillTransitionToSize
委托方法.协议声明的一个方法是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
}
}