これが実際に役立つリンクです。起動画像を保存します。ファイル名の最後に「-568h@2x.png」を入力すると、iOSは適切な画像を自動的に選択しません。あなたの仕事を簡単にする上記のリンクで言及されたいくつかのヘルパーメソッドがあります。
上記のリンクのコードを採用しました。Obj-Cのヘルパー関数は次のとおりです。
-(BOOL) IsTall
{
return ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) && ([[UIScreen mainScreen] bounds].size.height * [[UIScreen mainScreen] scale] >= 1136);
}
少しカテゴリを書くことも役に立ちます。
@interface NSString (Special)
-(NSString*)correctImageNameForiPhone5
@end
@implementation NSString (Special)
-(NSString*)correctImageNameForiPhone5
{
if([self isTall])
return -imageNameAppendedWith_-568h@2x.png_-; //Do the correct NSString magic here
else
return -originalImageName-;
}
@end
最後に、UIImageオブジェクトにアクセスする場合:
NSString *filename = @"backgroundImage.png";
UIImage *img = [UIImage imageNamed:[filename correctImageNameForiPhone5]];
ここでの前提は、iPhone5固有のすべての画像ファイル名が「-568h@2x」で終わることです。このコードサンプルは、プロジェクトにドロップするだけでは確実に機能しませんが、アイデアは得られます。NSStringの修正が必要です。