设备旋转后设置上一个视图控制器的布局

Set layout of previous view controller after device rotation

我有一个 UIViewController vc2,它位于 vc1 之后的导航堆栈中。当我在 vc2 上旋转设备时,我需要 vc1 来更新它的 UI。但是,当我尝试在 willAnimateRotationToInterfaceOrientation 中执行此操作时,它不起作用。

在我从堆栈中弹出 vc2 之后,我尝试在 viewWillAppearviewDidLoad 中更新 vc1 UI 但它不起作用.如果我在 viewDidAppearviewWillLayoutSubviews 中执行它,它会起作用,但它仅在视图出现后更新 UI,以便用户可以看到它在屏幕上动画。

有没有办法在视图出现之前设置它,以便用户看不到动画的子视图?

到目前为止,我发现唯一可行的解​​决方案是我在问题中提到的,我在 viewDidAppearviewWillLayoutSubviews 中更新了 UI。不幸的是,当视图控制器出现时,您会看到 UI 组件动画到屏幕上的正确位置。希望有人能找到更好的解决方案。