我知道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
答案 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;
使用此代码可能会对您有所帮助。