0

XcodeプロジェクトをテストしているiPhone 5とiPhone 4sがあります。iPhone 5でアプリを削除して再構築したところ、iPhone 5がiPhone 4として認識されるようになりました。両方を試しました

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
    NSLog(@"screen size is %f", screenSize.height);
    if (screenSize.height > 480.0f) {
        return TRUE;
    } else {
        return FALSE;
    }
}

#define IS_WIDESCREEN ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )568 ) < DBL_EPSILON )
#define IS_IPHONE ( [ [ [ UIDevice currentDevice ] model ] isEqualToString: @"iPhone" ] )
#define IS_IPOD   ( [ [ [ UIDevice currentDevice ] model ] isEqualToString: @"iPod touch" ] )
#define IS_IPHONE_5 ( IS_IPHONE && IS_WIDESCREEN )

問題は、どういうわけか [UIScreen mainScreen]bounds.size.height が画面の高さを 586 ではなく 480.00000 として認識していることです。このエラーに遭遇した人はいますか?どうすれば修正できますか?

4

1 に答える 1

2

適切な画面の高さを認識するために、コードに Default-568h@2x.png 画像を含める必要があります。そうしないと、常に FALSE になります。ビルドの間にこのイメージを誤って削除したため、適切にテストされませんでした。

于 2013-10-14T21:19:12.627 に答える