2012-10-11 4 views
6

私のアプリの読み込み画面とスプラッシュ画面では、iPhone 3、iPhone 4、およびiPhone 5の画像を適切に表示するために2つの方法を使いました。iOS Colorwithpattern - カスタムiPhone5イメージを使用

ローディング画面の場合、画像に-568h @ 2xを追加するだけでiPhone5をサポートできます。

スプラッシュスクリーンについては、一連の(高さ==の)ケースを使用してUIScreenの境界線の高さを確認し、適切なイメージをイメージビューに供給しました。 -568hが普遍的にiPhone 5のイメージとして認識されていないことは私には明らかでした。これはローディング画面にのみ適用されます。

私のAppDelegateでは、背景イメージを設定しています。すべての私のサブビューは透明な背景を持っているので、それらは背景画像に透けて見えるはずです。しかし、私はここで背景イメージを設定するのに最も困っています。

単に "Background.png"を渡します。ファイル名の末尾に-568h @ 2xを追加しても機能しません。非網膜と3.5 "網膜ディスプレイを行いますが、4インチディスプレイではピックアップしません。

すなわち:

self.window.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Background.png"]]; 

私は上記のコードスニペットを使用している場合は、iPhone4の画像が代わりにiPhone5の画像の使用されており、これは私が欲しいものではありません。

私はスプラッシュスクリーンで行ったのと同じことをしようとしました。私は、もし例たくさん持っていた:

CGFloat height = [UIScreen mainScreen].currentMode.size.height; 

if (height == 1136) 
{ 
    //Choose image here 
} 
else if (height == 960) 
{ 
    //Choose image here 
} 
else if (height == 480) 
{ 
    //Choose image here 
} 
self.window.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:chosenImage]]; 

をしかしcolorWithPatternImage機能はchosenImageは1ポイント= 1つのピクセルで行くと思います。だから私は、iPhone 5の画面に収まるようにしようとする網膜以外の画像で終わる。それはどんな外観ですか? iPhone 5の画面全体に表示されていた画像の左上の四分円のように見えます。網膜の拡大縮小が適用されていないように見えます。

私はiPhoneにバックグラウンドとして使用される網膜に優しいiPhone 5の写真があることを認識する必要があります。これはどうすればいいですか?

答えて

7

私はこのコードhere、おそらくそれはあなたを助けた:

UIImage *tmpImage = [UIImage imageNamed:@"[email protected]"]; 
UIImage *backgroundImage = [UIImage imageWithCGImage:[tmpImage CGImage] 
               scale:2.0 
             orientation:UIImageOrientationUp]; 
self.window.backgroundColor = [UIColor colorWithPatternImage:backgroundImage]; 
関連する問題