私は2つの状態の間を行き来するiPadアプリケーションを持っています.1つはSplitViewを使用し、もう1つはTableViewを使用しています。
現在、私は単一の UIWindow オブジェクトを持っており、次のコードでビューを切り替えます
-(void) switchToStateA {
[viewControllerB.view removeFromSuperview];
[window addSubview:viewControllerA.view];
}
-(void) switchToStateB {
[viewControllerA.view removeFromSuperview];
[window viewControllerB.view];
}
デバイスの向きを変更しない限り、すべて正常に動作します。向きを変更して状態を切り替えた後、変更中にアクティブでなかった状態は、元の状態のフレーム内に残ります (ディスプレイの端に黒い領域が残ります)。向きをもう一度変更すると、新しい状態が修正されます。
追加してみました
[viewControllerA.view setNeedsLayout];
ビューを交換した後ですが、効果はありませんでした。
バックグラウンド ビュー コントローラーが向きのコールバックを取得するようにするにはどうすればよいですか? または、状態を切り替えるときに「更新」を呼び出すにはどうすればよいですか?