0

iPhone5の画面用にアプリを更新しています。setAutoresizingMaskは、(代替座標をハードコーディングする代わりに)オブジェクトの配置に使用するとよいように思えますが、機能させることができないようです。

私のアプリは回転しません。480または568のハイスクリーンの場合、この画像を下部に固定してロードしたいだけです。

これが私の簡単な試みです。提案をいただければ幸いです。ありがとう。

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.view.autoresizesSubviews = YES;

    UIImage *getImg = [UIImage imageNamed:@"footer.jpg"];
    UIImageView *footer = [[UIImageView alloc] initWithImage:getImg];
    [footer setFrame:CGRectMake(0,0,302,50)];
    [footer setAutoresizingMask:UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin];    

    [self.view addSubview:footer];
}

(このsetAutoresizingMaskは、画像を左下に設定する必要があると思います。)

4

1 に答える 1

2

自動サイズ変更マスクは、コントロールの初期位置には影響しません。スーパービューが境界を変更したときに位置が更新される方法に影響するだけです。言い換えると、新しい自動サイズ変更マスクを設定する動作によって、コントロールの位置が更新されることはありません。

そのため、最初はコントロールを適切な場所に配置するように注意する必要があります。あなたはインターフェースビルダーでそれを簡単に行うことができます。インターフェイスをプログラムでレイアウトする場合は、bounds測定値を直接ハードコーディングするのではなく、メンバー変数をクエリして、スーパービューの境界を基準にしてコントロールを配置する必要があります。その時点から、自動サイズ変更マスクに更新を残すことができます。

于 2012-09-24T16:02:32.320 に答える