0

私はこれを試しています:

- (void)viewDidLoad {

    [super viewDidLoad];

    if (UIDeviceOrientationIsPortrait([[UIDevice currentDevice] orientation])) {

        NSLog(@"PORTRAIT");

    } else {

        NSLog(@"LANDSCAPE");
    }
}

しかし、それ[[UIDevice currentDevice] orientation]は 0 を返すように見えるので、その時点でデバイスがどの向きにあるのかわかりません。どうすればそれを知ることができますか?

4

2 に答える 2

1

使ってます

UIInterfaceOrientationIsPortrait([[UIApplication sharedApplication]statusBarOrientation]

これから:

iOS開発者ライブラリ:VisibleViewControllerの向きの変更への対応

ウィンドウは、ビューコントローラのビューの境界を調整します。これにより、ビューはサブビューをレイアウトし、ビューコントローラーのviewWillLayoutSubviewsメソッドをトリガーします。このメソッドを実行すると、アプリオブジェクトのstatusBarOrientationプロパティをクエリして、現在のユーザーインターフェイスのレイアウトを確認できます。

于 2013-01-11T14:42:31.197 に答える
0

このようにデバイスの向きを確認できます

    if (UIInterfaceOrientationIsPortrait([UIApplication sharedApplication].statusBarOrientation))
{
NSLog (@"Device is in Portrait Mode");
}
else
{
NSLog (@"Device is in Landscape Mode");
}
于 2013-01-11T13:35:42.240 に答える