一尘不染

iOS:设备旋转后如何运行功能(快速)

swift

我有一个不使用自动布局的UIView,并且根据其在主视图中X和Y坐标的百分比显示了一些组件。

以前,我会运行一个函数来更新它们在didRotateFromInterfaceOrientation中的位置,但是我看到现在iOS8中已弃用此功能。

我看过viewWillTransitionToSize,但是它给出了奇怪的结果,并且似乎没有viewDidtransitionToSize函数。

设备旋转后,是否有一种简便的方法(在Swift中)运行函数?


阅读 197

收藏
2020-07-07

共1个答案

一尘不染

viewWillTransitionToSize委托方法被调用了UIViewControllerTransitionCoordinator符合对象。协议声明的方法是animateAlongsideTransition(_:animation, completion:)。您可以使用它来使代码在转换完成后执行。

override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator) {
    super.viewWillTransitionToSize(size, withTransitionCoordinator: coordinator)
    coordinator.animateAlongsideTransition(nil, completion: {
        _ in

        // Your code here
    })
}
2020-07-07