可能重复:
如何检测 iPhone 5(宽屏设备)?
有没有办法可以检测当前设备是否是 iphone 5?更具体地说,如果它使用的是新的 4" 屏幕?
可能重复:
如何检测 iPhone 5(宽屏设备)?
有没有办法可以检测当前设备是否是 iphone 5?更具体地说,如果它使用的是新的 4" 屏幕?
用这个
#define IS_IPHONE5 (([[UIScreen mainScreen] bounds].size.height-568)?NO:YES)
我认为您应该专注于首选显示模式,而不是检测 iPhone5。谁知道 Apple 将制造什么设备,但如果您的软件支持该模式,它将是面向未来的。
BOOL isiPhone5 = CGSizeEqualToSize([[UIScreen mainScreen] preferredMode].size,CGSizeMake(640, 1136));
将来,人们可能希望即时更改首选显示模式。例如,将 AppleTV 从 720p 电视断开并插入 1080p,当然无需重新启动应用程序。
if([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone){
if(UIScreenOverscanCompensationScale==1136/640){
//move to your iphone5 storyboard
[UIStoryboard storyboardWithName:(NSString *) bundle (NSBundle *)];
}
else{
//move to your iphone4s storyboard
[UIStoryboard storyboardWithName:(NSString *) bundle (NSBundle *)];
}
}
这是我在这里的另一个问题中发布的答案。
将此代码添加到您的应用程序:
if ([UIScreen mainScreen].scale == 2.f && screenHeight == 568.0f)
{// iPhone 5 code}
else
{// previous version code}