设备旋转后设置上一个视图控制器的布局
Set layout of previous view controller after device rotation
我有一个 UIViewController
vc2
,它位于 vc1
之后的导航堆栈中。当我在 vc2
上旋转设备时,我需要 vc1
来更新它的 UI。但是,当我尝试在 willAnimateRotationToInterfaceOrientation
中执行此操作时,它不起作用。
在我从堆栈中弹出 vc2
之后,我尝试在 viewWillAppear
或 viewDidLoad
中更新 vc1
UI 但它不起作用.如果我在 viewDidAppear
或 viewWillLayoutSubviews
中执行它,它会起作用,但它仅在视图出现后更新 UI,以便用户可以看到它在屏幕上动画。
有没有办法在视图出现之前设置它,以便用户看不到动画的子视图?
到目前为止,我发现唯一可行的解决方案是我在问题中提到的,我在 viewDidAppear
或 viewWillLayoutSubviews
中更新了 UI。不幸的是,当视图控制器出现时,您会看到 UI 组件动画到屏幕上的正确位置。希望有人能找到更好的解决方案。
我有一个 UIViewController
vc2
,它位于 vc1
之后的导航堆栈中。当我在 vc2
上旋转设备时,我需要 vc1
来更新它的 UI。但是,当我尝试在 willAnimateRotationToInterfaceOrientation
中执行此操作时,它不起作用。
在我从堆栈中弹出 vc2
之后,我尝试在 viewWillAppear
或 viewDidLoad
中更新 vc1
UI 但它不起作用.如果我在 viewDidAppear
或 viewWillLayoutSubviews
中执行它,它会起作用,但它仅在视图出现后更新 UI,以便用户可以看到它在屏幕上动画。
有没有办法在视图出现之前设置它,以便用户看不到动画的子视图?
到目前为止,我发现唯一可行的解决方案是我在问题中提到的,我在 viewDidAppear
或 viewWillLayoutSubviews
中更新了 UI。不幸的是,当视图控制器出现时,您会看到 UI 组件动画到屏幕上的正确位置。希望有人能找到更好的解决方案。