2012-09-18 7 views
12

私のアプリの中には、カスタム画像をバックグラウンドとして使用するものがあります。適切な画像を配置するための画面サイズを確認する適切な方法は何ですか?iPhone 5の背景イメージを管理するにはどうすればよいですか?

if ([UIScreen mainScreen] == 2.0) 
{ 
    UIImage * backgroundImage = [UIImage imageNamed:@"[email protected]"]; 
    backgroundImageView = [[UIImageView alloc] initWithImage:backgroundImage]]; 
} 
else 
{ 
    UIImage * backgroundImage = [UIImage imageNamed:@"bgimage.png"]; 
    backgroundImageView = [[UIImageView alloc] iniWithImage:backgroundImage]]; 
} 

任意のヒント/アドバイスははるかに高く評価されています

のviewDidLoadで、このようなものになるはず!

ありがとうございます!

答えて

16

次のコードは、画面のサイズと範囲を確認します。スクリーンが586ポイント(覚えておいて、スクリーンが網膜のために点で測定されること)が、新しい4インチ網膜ディスプレイであることを我々が知っているよりも、私ならば、私は

[self.bgImageView setImage:backgroundImage]; 

ではなく

backgroundImageView = [[UIImageView alloc] initWithImage:backgroundImage]; 

を使用するために、正しい画像のみ表示していたことを除いて、私のために働いた上記

if ([[UIScreen mainScreen] bounds].size.height == 568) 
{ 
    UIImage * backgroundImage = [UIImage imageNamed:@"[email protected]"]; 
    backgroundImageView = [[UIImageView alloc] initWithImage:backgroundImage]; 
} 
else 
{ 
    UIImage * backgroundImage = [UIImage imageNamed:@"bgimage.png"]; 
    backgroundImageView = [[UIImageView alloc] initWithImage:backgroundImage]; 
} 

も参照してくださいiOS 6 apps - how to deal with iPhone 5 screen size?

+2

イメージファイル名から "@ 2x"と.pngテキストを削除できます。 imageNamedのフードの下で処理されているので、通常はそこに「@ 2x」を入れるのは良い考えではありません。とにかく – Kevlar

+0

これはどこに行きますか? " - viewdidLoad" – Gabriel

+0

はい。コードは、基本的にはLukeが元の質問に入れたもので、viewDidLoadに入れるものを要求しています。 – Bryan

1

ブライアンの答え前者を使用してください。

+0

'backgroundImageView'はif文の記述方法を示す名前に過ぎません。それはルークの質問に入れられました。自分のプログラムで見つけられるとは思わないものです。同じトークンによって、 'bgImageView'はあなたのプログラムの単なる名前であり、同じ名前を選んでいない限り他の誰のためにも働きません。 – Bryan

関連する問題