2010-11-30 18 views
0

iOS 4.2はiPad用であると理解しました。以下のコードは、私たちがすべてデバイスを識別するために使用する標準パターンです。 4.2 iPadの場合、これはどう変わるでしょうか。バージョンではなくデバイスの種類を考慮してコードを変更する必要がありますか?iPad iOS 4.2のデバイスを識別する

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 30200 
    CGRect frame = [[UIScreen mainScreen] bounds]; 
    self.view.frame = frame; 
#else 
    CGRect frame = [self.view bounds]; 
#endif 

答えて

5

良い方法はcurrentDeviceがそのセレクタに応答すること[[UIDevice currentDevice] userInterfaceIdiom]

まずチェックであろう。それ以外の場合は、iOS 3.1.x以前を実行しているiPhone/iPodです。

そのセレクタに応答する場合は、UIUserInterfaceIdiomPhoneまたはUIUserInterfaceIdiomPadの結果を確認できます。

0

応じてチェックデバイス・バージョン、コード

float version = [[[UIDevice currentDevice] systemVersion] floatValue]; 
    if (version == 4.2) 
    { 
     CGRect frame = [[UIScreen mainScreen] bounds]; 
    self.view.frame = frame; 

    } 
else 
    self.view.frame = frame; 

それはあなたを助けるかもしれない、このコードを使用します。

2

また、これを試すことができます。

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 30200 

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 
{ 
    // type you code for iPad 
} else { 
    // type you code for iPhone 
} 

#endif 
関連する問題