希望以下給出的一切要求。如何解決UIView autoresizingMask設置正確但不解決?
有一行代碼調整我的應用程序中父視圖的框架,受影響的子視圖沒有按照我對autoresizingMask的期望以適當的方式響應。
viewController.view子視圖有1個子視圖,所有邊距都調整大小,並且框架爲0,0,320,270。
viewController.view具有幀= 0,0,320,276
調整viewController.view到0,64,1024,704
所述一個子視圖粘在底部,基本上相同的效果後,好像有子視圖中沒有靈活的底部邊緣。
352,434,320,270。正確的大小,它沒有調整大小。但是從超級觀點的頂部開始有434點,再加上超級觀點的高度270,= 704。
我希望270子視圖高度和704之間的434差異在頂部和底部邊距之間保持平衡。
但是,頂部和底部邊距都指定爲調整大小。我很困惑。可能我已經忘了代碼,這很容易。
也許這與一些特殊處理有關,當邊距爲零時,但另一個邊距不爲零。以前從未嘗試過這種情況。
PO [viewController.view子視圖]
(ID)$ 1 = 0x09696340 < __NSArrayM 0x9696340>(
<的UIView:0x9695790;幀=(0 0; 320 270);自動調整大小= LM + RM + TM + BM; 層= <的CALayer:0x96957f0 >>
)
(LLDB)PO viewController.view
(UIView *)$ 2 = 0x09695ab0 < UIView:0x9695ab0; frame =(0 0; 320 276); autoresize = W + H;層= <的CALayer:0x9695b10 >>
然後一行代碼來改變上海華:
viewController.view.frame = {...};
(LLDB)PO viewController.view
(UIView的*)$ 3 = 0x09695ab0 < UIView:0x9695ab0; frame =(0 64; 1024 704); autoresize = W + H;層= < CALayer:0x9695b10 >>
(lldb)po [viewController。視圖子視圖]
(ID)$ 4 = 0x09696340 < __NSArrayM 0x9696340>(
<的UIView:0x9695790;幀=(352 434; 320 270);自動調整大小= LM + RM + TM + BM;層= <的CALayer:0x96957f0 >>
)
編輯 -
該問題可能是另一個特性是在第效果我不知道。也許像自動佈局或約束,但自動佈局被關閉。另外,superview不是一個自定義的UIView子類,在layoutSubviews中有一些奇特的東西。這是純粹的UIKit的東西。
您是如何添加從nib文件創建視圖及其子視圖的,或者是以編程方式創建的?如果通過代碼,那麼你需要設置子視圖的屬性[autoresizingMask](http://developer.apple.com/library/ios/documentation/uikit/reference/uiview_class/uiview/uiview.html#//apple_ref/occ/instp/UIView/autoresizingMask) – otakuProgrammer
它們是從一個筆尖創建的。但它不應該是正確的?我從代碼和筆尖創建了視圖,並在代碼和筆尖中來回地手動定義了autoresizingMask。該文檔說默認值是UIViewAutoresizingNone –
我想知道是否有另一個屬性,我失蹤。可能與自動佈局或約束有關,但自動佈局被關閉。 –