1

私はView Controllerを持っています。背景は、それを表示しているiPhoneのサイズに応じて変化させたいと考えています。

次のコードを試しました:

- (void)viewDidLoad
{
[super viewDidLoad];

//Chainging the background for the different screen sizes. 


if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{
    CGSize result = [[UIScreen mainScreen] bounds].size;

if(result.height == 960) {


    UIImage *image = [UIImage imageNamed:@"Background Iphone 4.png"];
    self.view.layer.contents = (id) image.CGImage;

}

if (result.height == 1136) {

    UIImage *image = [UIImage imageNamed:@"Background Iphone 5.png"];
    self.view.layer.contents = (id) image.CGImage;


}
}

エラーは発生しませんが、同時にどのデバイスにも画像が表示されません! 誰でも私を助けることができますか?確かにこれは簡単な問題であるべきですか?

問題を読み込もうとしましたが、どこにも行きません。ストーリーボードを使用しており、自動レイアウトをオンにしています。これが問題でしょうか?

ご覧いただきありがとうございます。

4

2 に答える 2

0

浮動小数点数の等価性について少し調べてください。正確に 960 または 1136 に等しい高さの変化はスリムです (そうかもしれませんが)。>=または<=代わりに確認する必要があります。

960 pr 1136 と一致する可能性は、@2x サイズであるため、特にわずかです。フレームの実際のサイズは 480 または 568 です。

したがって、次のようif (height > 481)な単純なものを試してくださいelse

于 2013-06-03T19:53:56.793 に答える