识别iPad iOS 4.2的设备

时间:2010-11-30 03:01:14

标签: iphone ipad ios-4.2

我知道iOS 4.2也适用于iPad。下面的代码是我们用于识别设备的标准模式。 4.2 iPad将如何变化?我应该更改代码以考虑设备类型而不是版本吗?

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

3 个答案:

答案 0 :(得分:5)

更好的方法是[[UIDevice currentDevice] userInterfaceIdiom]

首先检查currentDevice是否响应该选择器。如果没有,那么它是运行iOS 3.1.x或更早版本的iPhone / iPod。

如果它确实响应了该选择器,那么您可以检查UIUserInterfaceIdiomPhone或UIUserInterfaceIdiomPad的结果。

答案 1 :(得分: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

答案 2 :(得分: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;

使用此代码可能会对您有所帮助。