0

私はxcode4.5でipadとiPhoneアプリの両方を開発し、デバイスをチェックしてそれを行いました:

    if(UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad)
{
   //code for ipad.Adjusting sizes for all the controls 
}
    if(UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPhone)
{
   //code for iphone.Adjusting sizes for all the controls 
}

しかし、シミュレーターでiphone5のRetina(4)をチェックすると、コントロールのすべてのサイズが変更され、iphoneに指定した以前の解像度が一致しません。

この場合はどうすればよいですか?

4

3 に答える 3

1
This is the other optional way to find out for check iPhone5

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

コンポーネントを下から表示したい場合..

#define GET_Y_AXIS_FROM_BOTTOM(a)(( double )([[ UIScreen mainScreen ] bounds ].size.height)-a)

CGRectMake(0,GET_Y_AXIS_FROM_BOTTOM(50),320,50)

于 2013-02-25T11:51:22.757 に答える
0

2つのxibファイル(1つはiPhone4とiPhone5用)を作成するか、すべてのコントロールをプログラムで作成して、このようにループに入れる必要があります。

 CGRect screenBounds = [[UIScreen mainScreen] bounds];
    if (screenBounds.size.height == 568) {
        //put your iphone 5 control here
    } else {
        //put your iphone 4 control here
    }
于 2013-02-25T11:56:18.990 に答える
0
if([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad)
{

    //code

}
else
{

    //code

}
于 2013-02-25T12:23:49.117 に答える