重複の可能性:
iPhone 5(ワイドスクリーンデバイス)を検出する方法は?
現在のデバイスがiphone5であるかどうかを検出する方法はありますか?具体的には、新しい4インチ画面を使用している場合はどうでしょうか。
重複の可能性:
iPhone 5(ワイドスクリーンデバイス)を検出する方法は?
現在のデバイスがiphone5であるかどうかを検出する方法はありますか?具体的には、新しい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 *)];
}
}
これは、別の質問here で私が投稿した回答です。
次のコードをアプリケーションに追加します。
if ([UIScreen mainScreen].scale == 2.f && screenHeight == 568.0f)
{// iPhone 5 code}
else
{// previous version code}