1

iPhone 画面のサイズに応じて、アプリのフロント ページ (最初の対話型ビュー コントローラー) のいくつかの画像ビューを変更しようとしています。アプリの最初のビューに次のコードがあります。

- (void)viewDidLoad
{
[super viewDidLoad];


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


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

    [MALE setFrame:CGRectMake(72, 20, 175, 100)];
    [MALE setImage:[UIImage imageNamed:@"Blue Female Symbol.png"]];
    [FEMALE setFrame:CGRectMake(65, 60, 200, 120)];
    [FEMALE setImage:[UIImage imageNamed:@"Red Male Symbol.png"]];

}

if(result.height == 1136)
{
    [MALE setFrame:CGRectMake(200, 100, 175, 100)];
    [MALE setImage:[UIImage imageNamed:@"Red Male Symbol.png"]];
    [FEMALE setFrame:CGRectMake(200, 300, 175, 100)];
    [FEMALE setImage:[UIImage imageNamed:@"Blue Female Symbol.png"]];



}
}

}

残念ながら、このコードは実際の画面レイアウトに影響を与えないように見え、実際には UIImage ビューを生成しません。

誰が私が間違っているのか教えてもらえますか?

御時間ありがとうございます。

4

1 に答える 1

2

同様の問題に遭遇しました。私の問題は、自動レイアウトがオンになっていることでした。自動レイアウトをオンにすると、フレームが調整され、コードで自分で調整することはできません。オフにするには、ストーリーボードの任意のビューをクリックしてファイル インスペクターに移動します。自動レイアウトがオンになっている [Interface Builder ドキュメント] の下にオプションがあり、そのボックスのチェックを外すだけで、フレームを調整できるはずです。

このように見えるはずです

ストーリーボードでこれを行うと、ストーリーボードのすべてのビューの自動レイアウトがオフになりますが、.xib ファイルのビューはオフになりません。

これで問題が解決することを願っています!

于 2013-05-20T23:21:29.693 に答える