iPhone, iPadの画面の向きを検出する【起動時と変化時】

2013/11/07  カテゴリー:iPhone アプリ開発    タグ:タグ: , , ,



ipad-rotation

iPhone, iPadの画面の向きを検出する方法整理しました。


回転変化時

通常画面の向きが変化した時、

画面回転する直前の呼び出し

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration


画面回転する直後の呼び出し


- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
で処理できます。

しかし、これでは起動時にどっちを向いているかには対応してくれません。

起動時の取得


起動時の画面の向きを取得するには

int direction = self.interfaceOrientation;

これをviewDidLoadで検出すればよかったようです。


int direction = self.interfaceOrientation;
if(direction == UIInterfaceOrientationPortrait){
    NSLog(@"縦(ホームボタン下)");
}
else if(direction == UIInterfaceOrientationPortraitUpsideDown){
    NSLog(@"縦(ホームボタン上)");
}
else if(direction == UIInterfaceOrientationLandscapeLeft){
    NSLog(@"横(ホームボタン左)");
}
else if(direction == UIInterfaceOrientationLandscapeRight){
    NSLog(@"横(ホームボタン右)");
}

Share on Google+Tweet about this on TwitterShare on Facebook