1

X は、親 UIScrollView を持つイメージ ビューです。X コンテンツ モードは に設定されていAspect Fitます。

4インチ

______
|    |
|    | 
|X   |
|____|

4 インチから 3.5 インチのディスプレイに切り替えるときに、X を左上隅にピン留めします。したがって、私の理解では、自動サイズ変更マスクを次のように設定しようとしています。

ここに画像の説明を入力

代わりに、X がより中央に押し出されます。これは、Aspect Fit が比率を維持しようとするためだと思います。

3.5インチ

______
|    |
| X  | 
|____|

これを達成することは可能ですか?

コメントの後に編集

Storyboard/Interface Builder では、VC カスタム クラスが に設定されています。ContactVCこれは のサブクラスですUIViewController。すでに上で説明したように、IB で作成された 1 つの UIScrollview と UIImageView サブビューがあります。. 私のContactVC.mオーバーライドdidLayoutSubviewsまたはlayoutSubviewsしかし、それらは呼び出されていません。

@implementation ContactViewController

-(void) viewDidLayoutSubviews {
    UIViewAutoresizing mask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
    [someImageView setAutoresizingMask:mask];
}

-(void) viewLayoutSubviews {
    UIViewAutoresizing mask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
    [someImageView setAutoresizingMask:mask];
}
4

1 に答える 1

0

xib の自動サイズ変更マスクを使用してビューが作成された後、自動サイズ変更マスクが後でオーバーライドされるようです。

自動サイズ変更マスクをlayoutSubviews、またはおそらくビューコントローラーのに設定してみてくださいviewDidLayoutSubviews

于 2013-08-06T19:34:15.157 に答える