hachinoBlog

hachinobuのエンジニアライフ

iOS7とiOS8でUIScreenのboundsのサイズが違うので対応する

背景

iOS8からUIScreenのboundsを取得すると端末の向きに応じてwidthとheightの値が変更されるようになりLandscape対応でちょっと困ったのでメモ

iOS7とiOS8で差分を埋める

+ (CGSize)mainScreenSize 
{
    CGSize screenSize = [UIScreen mainScreen].bounds.size;
    if ((NSFoundationVersionNumber <= NSFoundationVersionNumber_iOS_7_1) &&  UIInterfaceOrientationIsLandscape([UIApplication sharedApplication].statusBarOrientation)) {
        return CGSizeMake(screenSize.height, screenSize.width);
    }
    return screenSize;
}

これでiOS7でもiOS8と同様のサイズを返すです。