0

アプリを開発していますが、1 つの画面を横向きに自動回転させたいと考えています。

これは、アプリで唯一の回転画面になります。

これを行う最も簡単な方法を見つけようとしています。

ビルドの概要ページで (トグル ボタンを使用して) サポートされている向きを設定すると、縦向きになります。自動回転させたい画面のコードでこれをオーバーライドできますか?

それとも、逆の方法で行う必要がありますか? つまり、すべての向きをサポートしてから、回転させたくないすべての画面を無効にしますか?

ありがとう

4

3 に答える 3

1

それとも、逆の方法で行う必要がありますか? つまり、すべての向きをサポートしてから、回転させたくないすべての画面を無効にしますか?

はい。サポートするすべての向きをInfo.plist にリストする必要があります。次に、特定のビュー コントローラーの向きを で制限しsupportedInterfaceOrientationsます。1 つのランドスケープ ビュー コントローラーを提示する必要があります。つまり、「モーダル」セグエまたは call を使用しますpresentViewController:animated:

ここでの私の答えは役に立つかもしれません:

https://stackoverflow.com/a/13755923/341994

ここで私の答え:

https://stackoverflow.com/a/15301322/341994

于 2013-05-04T16:19:28.603 に答える
0

次のように、回転させたいビューの viewDidLoad メソッドにオブザーバーを追加します。

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter]
 addObserver:self selector:@selector(orientationChanged:)
 name:UIDeviceOrientationDidChangeNotification
 object:[UIDevice currentDevice]];

次に、次のように、 orientationChangedメソッド内で変更するビューに従ってビューを設定します。

- (void) orientationChanged:(NSNotification *)note{
UIDevice * device = [UIDevice currentDevice];
switch(device.orientation)
{
    case UIDeviceOrientationPortrait:

        break;
    case UIDeviceOrientationPortraitUpsideDown:

        break;
    case UIDeviceOrientationLandscapeLeft:

        break;
    case UIDeviceOrientationLandscapeRight:

        break;

    default:
        break;
  };
}
于 2013-05-04T16:20:38.400 に答える