2013-04-21 149 views
3

我有一個UIView a已啓用autoresizing subviews。它的尺寸是:UIView不自動調整子視圖

<UIView: 0x7650180; frame = (0 0; 320 394); clipsToBounds = YES; autoresize = LM+RM+H; layer = <CALayer: 0x7650230>> 

我有另一個UIView的b我添加到視圖a。查看b具有靈活的寬度/高度。當我添加它,我希望它是高度更改爲394,但它在筆尖(420)保持一樣的:

<UIView: 0x764f720; frame = (0 0; 320 460); autoresize = LM+W+RM+TM+H+BM; layer = <CALayer: 0x764f320>> 

我在做什麼錯?

由於

回答

3

子視圖的自動調整僅適用於已添加到父視圖的子視圖。你應該怎麼做:

  1. 創建一個父視圖。
  2. 添加子視圖。
  3. 爲它們設置自動調整掩碼。
  4. 調整父視圖的大小。

只有這樣你纔會看到子視圖正在自動調整大小。

調整大小後添加子視圖將不起作用。

0

AUTORESIZE僅影響子視圖時的父視圖的改變幀。如果您希望您的子視圖具有與父視圖相同的高度,則必須在將其作爲子視圖添加之前或之後將高度設置爲相等。