12

私のアプリの中には、カスタム画像を背景として使用しているものがあります。適切な画像を配置するために画面サイズを確認する適切な方法は何ですか?

viewDidLoad で次のようにする必要があります。

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

どんなヒント/アドバイスも大歓迎です!

ありがとう!

4

2 に答える 2

16

次のコードは、画面のサイズ/境界をチェックします。画面が 586 ポイントの場合 (画面は Retina のためにポイントで測定されることに注意してください)、それが新しい 4 インチ Retina ディスプレイであることがわかります。

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

「 iOS 6 アプリ - iPhone 5 の画面サイズの扱い方」も参照してください。

于 2012-09-18T20:23:42.790 に答える
1

上記のブライアンの答えは、私が使用しなければならなかったことを除いて、私にとってはうまくいきました

[self.bgImageView setImage:backgroundImage];

それよりも

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

前者を使用した場合にのみ、正しい画像が表示されます。

于 2012-12-11T19:51:32.093 に答える