检测iPhone 5 4“屏幕

可能重复:
如何检测iPhone 5(宽屏设备)?

有没有一种方法可以检测到目前的设备是iPhone 5? 更具体地说,如果它使用新的4“屏幕?

用这个

 #define IS_IPHONE5 (([[UIScreen mainScreen] bounds].size.height-568)?NO:YES) 

我认为你应该专注于首选的显示模式,而不是检测iPhone5。 谁知道苹果将制造什么设备,但是如果你的软件支持这种模式,那将是未来的保障。

 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}