は、あなたがshouldAutorotateToInterfaceOrientationはviewControllersのスタック上に第二または第三のViewControllerで呼び出さ取得したい場合に、デバイスの向きが変わります。
shouldAutorotateToInterfaceOrientationは、top viewControllerでのみ呼び出されます。 2番目または3番目のviewControllerのメソッドでレイアウトコードを実行すると、コードは実行されません。
ソリューションは、コードに応じて単純で多くあります。ここで動作するはずのものがあります(Xcodeではテストされていません)。あなたが特定のchildViewControllerへのポインタを持っている場合は、特にそれを呼び出すことができ
for (UIViewController *vc in [self childViewControllers])
{
[vc shouldAutorotateToInterfaceOrientation];
}
:あなたのトップのViewControllerのshouldAutorotateToInterfaceOrientation方法では、のようなものを追加します。ドキュメントから
注:このメソッドの
あなたの実装は単にinterfaceOrientationパラメータの値に基づいて、NO YESを返していないか、すべきです。 interfaceOrientationプロパティの値を取得したり、UIDeviceクラスによって報告された方向値をチェックしたりしないでください。あなたのビューコントローラは、指定された方向をサポートすることも、サポートすることもできません。任意のレイアウトを行うには
、あなたが使用することができます。
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
は、この情報がお役に立てば幸い!