アプリを開発していますが、1 つの画面を横向きに自動回転させたいと考えています。
これは、アプリで唯一の回転画面になります。
これを行う最も簡単な方法を見つけようとしています。
ビルドの概要ページで (トグル ボタンを使用して) サポートされている向きを設定すると、縦向きになります。自動回転させたい画面のコードでこれをオーバーライドできますか?
それとも、逆の方法で行う必要がありますか? つまり、すべての向きをサポートしてから、回転させたくないすべての画面を無効にしますか?
ありがとう
アプリを開発していますが、1 つの画面を横向きに自動回転させたいと考えています。
これは、アプリで唯一の回転画面になります。
これを行う最も簡単な方法を見つけようとしています。
ビルドの概要ページで (トグル ボタンを使用して) サポートされている向きを設定すると、縦向きになります。自動回転させたい画面のコードでこれをオーバーライドできますか?
それとも、逆の方法で行う必要がありますか? つまり、すべての向きをサポートしてから、回転させたくないすべての画面を無効にしますか?
ありがとう
それとも、逆の方法で行う必要がありますか? つまり、すべての向きをサポートしてから、回転させたくないすべての画面を無効にしますか?
はい。サポートするすべての向きをInfo.plist にリストする必要があります。次に、特定のビュー コントローラーの向きを で制限しsupportedInterfaceOrientationsます。1 つのランドスケープ ビュー コントローラーを提示する必要があります。つまり、「モーダル」セグエまたは call を使用しますpresentViewController:animated:。
ここでの私の答えは役に立つかもしれません:
https://stackoverflow.com/a/13755923/341994
ここで私の答え:
次のように、回転させたいビューの 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;
};
}