アプリを iPhone 5 に対応させる場合、画面いっぱい画像を使用していると “640 x 1136px” サイズの画像を用意しなければなりません。
ネットで調べてみると “ファイル名-568h@2x.png” といった具合に、”-568h@2x” という文字を追加すればいいんじゃない?というのが幾つか出てきました。でも、それも上手くいかないというのが殆どでした。
実際、Apple の iOS App Programming Guid を見ると iPhone 5 も「@2x」と書いてあります。
iOS App Programming Guid : App-Related Resources
他にも調べてみると、iPhone 5 でアプリを使った時、ファイル名に “-568h@2x” が付加された画像を参照するように〜?というのを見ましたが、もっと簡単に出来ないものかなと思いました。
で、思いついたのが、iPhone 5 でも @2x が付加された画像を読むなら、iPhone and iPhone Retina 3.5 inch か iPhone 5 Retina 4 inch で振り分けて違う画像を読ませればいいんじゃない?
でわ、用意する画像は3つ
例として、ファイル名を以下とします。
これまでは、プログラムで iPhone 用の画像を指定すると、iPhone 4 実行した場合には Retina 3.5 inch の画像を自動的に表示してくれました。
このままだと、iPhone 5 でも Retina 3.5 inch の画像を表示します。
これを iPhone Retina 4 inch で振り分けます。
[code:cpp]
// Get Screen Size
CGRect frame = [[UIScreen mainScreen] applicationFrame];
if ( frame.size.height == 548.0 ) {
// iPhone 5
[UIImage imageNamed:@”image_iPhone5.png”];
} else {
// iPhone
[UIImage imageNamed:@”image.png”];
}
[/code]
※ Code はイメージ的なもので間違っているかもしれませんが、そこは脳内変換でお願いします。
※ スクリーンサイズはステータスバーを表示している場合のサイズです。
image_iPhone5.png という画像は存在しませんが、元々 Retina Display である iPhone 5 では「image_iPhone5@2x.png」を読みに行きます。
こんな感じでやるが簡単なんじゃないのかな?と思います。
カテゴリ: ユーティリティ, ビジネス
販売元: NEO-SHOCKER.COM – Takahiro Ishihara