我有一个 iPad 应用程序,它在两种状态之间切换,一种使用 SplitView,另一种使用 TableView。
目前我有一个 UIWindow 对象,并使用以下代码在视图之间切换
-(void) switchToStateA {
[viewControllerB.view removeFromSuperview];
[window addSubview:viewControllerA.view];
}
-(void) switchToStateB {
[viewControllerA.view removeFromSuperview];
[window viewControllerB.view];
}
除非我更改设备方向,否则一切正常。在改变方向和切换状态后,在改变期间未激活的状态仍处于其旧状态的框架中(在显示边缘留下黑色区域)。如果我再次改变方向,新状态将被修复。
我试过添加
[viewControllerA.view setNeedsLayout];
交换意见后,但没有效果。
如何确保后台视图控制器获得方向回调,或者如何在切换状态时调用“刷新”?