UIView 响应动画后的方向变化

UIView respond to orientation change after animation

如何让我的 UIView(无法访问 ViewController)在方向发生变化后执行一些任务?也就是说,在动画完全结束并且帧不再因动画而改变之前,不应执行任何任务。

我已经尝试在 UIView 上注册观察者以响应 UIDeviceOrientationDidChangeNotifications,但是我在处理程序中放置的断点在 动画甚至开始之前被触发。

您需要涉及视图控制器。只有视图控制器可以获得对转换协调器的引用,以便它可以调用 animate(alongsideTransition:completion:) 并在完成处理程序中执行某些操作。那是动画结束的时刻。

因此视图控制器可以直接与视图对话,或者,如果您希望视图完全不可知,视图控制器可以post视图已注册的自定义通知。