4

他の投稿で見つかったいくつかの解決策を試しましたが、デバイスの回転時にサブビューの自動サイズ変更にまだ問題があります。私のレイアウト (IB) には 3 つのビューがあり、現在のビューにのみサイズ変更を適用します。その後、デバイスを回転させた後、ビューが表示され、サイズが変更されず、以前の寸法のままである場合。自動サイズ変更サブビューとそのマスクを設定しました...何が間違っているか、欠けていますか? どんな助けでも大歓迎です、ありがとう!

- (void)viewDidLoad
{

    [super viewDidLoad];

    [self.view setAutoresizesSubviews:YES];
    [self.view setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight];
    [vistaSocial setAutoresizesSubviews:YES];
    [vistaSocial setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight];
    [vistaB setAutoresizesSubviews:YES];
    [vistaB setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight];
4

3 に答える 3

2

xib ファイルで適切なサイズ変更プロパティを使用していないと思います。私の理解では、現在のコントローラーに 2 ~ 3 個のビューを追加している必要があります。しかし、自動サイズ変更はどこかで間違っています。正しいセットで 1 つずつ試してください。私が間違っていると予測している場合は、理解を深めるためにスクリーンショットを共有できます。

于 2012-06-04T18:10:07.490 に答える
2

Nib ファイルを使用して Autoresize プロパティを設定できます。NIBファイルからちゃんと設定したら確認してもらえますか?

于 2012-06-04T18:18:43.740 に答える
1

autoresizesSubviewsデバイスの回転時にサイズを調整する特定のビューの場合、プロパティをに設定する必要があるのはそのスーパービューですYES。(コードフラグメントからは、ビュー階層が何であるかは明確ではありません。)変更してみてください

[vistaB setAutoresizesSubviews:YES];

[vistaB.superview setAutoresizesSubviews:YES];
于 2012-06-04T18:08:45.757 に答える