4 つの異なるビューを持つタブ バー コントローラーがあります。最近、ビューの 1 つだけに回転を組み込みたいと思いました。YES
タブコントローラーの場合、すべてのサブビューがメソッドで返される必要があることをどこかで読みましたshouldAutoRotateToInterfaceOrientation:
。私はこれを行い、すべてが機能しますが、すべてではなく、ビューの1 つだけを横向きモードにする必要があります。オールオアナッシングの状況でしか得られないようです。つまり、すべて回転するか、まったく回転しないかのいずれかです。
1 に答える
1
縦向きモードのみをサポートする VC にこれを追加します。
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
if (interfaceOrientation == UIDeviceOrientationPortrait || interfaceOrientation == UIDeviceOrientationPortraitUpsideDown)
{
return YES;
}
return NO;
}
ランドスケープもサポートする VC にこれを追加します。
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return YES;
}
上記は、必要ではないタブを制御するために 4 つの VC が必要であることを意味します。同様にできることは、デフォルトで NO である mainVC に追加のブール値を作成することです。次に、すべての向きをサポートする特定のビューを開くときに、そのブール値を YES に設定して、次のコードを実行します。
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
if (myBoolThatAllowsAllOrientations)
{
return YES;
}
if (interfaceOrientation == UIDeviceOrientationPortrait || interfaceOrientation == UIDeviceOrientationPortraitUpsideDown)
{
return YES;
}
return NO;
}
于 2011-10-25T07:22:18.910 に答える