0

このコードを「viewDidLoad」で使用して、アプリがiPhone5または通常のiPhoneで実行されているかどうかを確認します。

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{
    CGSize result = [[UIScreen mainScreen] bounds].size;
    if(result.height == 480)
    {
        // iPhone Classic

        [_backgr setImage:[UIImage imageNamed:@"usefull_i4.png"]];
        [scrollView setFrame:CGRectMake(16, 69, 291, 349)];
        [_backgr setFrame:CGRectMake(0, 0, 320, 480)];


    }
    if(result.height == 568)
    {
        // iPhone 5
        [_backgr setImage:[UIImage imageNamed:@"usefull_i5.png"]];
        [scrollView setFrame:CGRectMake(15, 111, 295, 349)];
        [_backgr setFrame:CGRectMake(0, 0, 320, 568)];

    }
}

動作しません。:(ここで!hereをiPhone3.5からiPhone4に変更した場合にのみ、このコードは機能します。1

また、私はこのコードを別のViewControllerに使用し、うまく機能します。自動レイアウトは使用しません。

4

1 に答える 1

1

このマクロを試してください:(。pchファイル内)

#define IS_IPHONE_5 ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )568 ) < DBL_EPSILON )

例 :

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{
    if(IS_IPHONE_5)
    {
         // code
    }
}
于 2013-03-22T05:01:40.043 に答える