更新舊響應,僅提及調整掩模
自動佈局(iOS 6中)
在iOS 6中,加入自動佈局,雖然,有點難看在一個情節串連圖板/ XIB與XCode的工作。 Autolayout太大而無法解釋,但其實質是它是層次結構中視圖之間的一組規則。因此,您可以將視圖的x位置粘貼到父視圖的右邊界。見Auto Layout Programming Guide
會自動調整大小面具(iOS版2)
在尺寸檢查選項請看:
這是做
myView.autoresizingMask = UIViewAutoresizingMaskFlexibleTopMargin |
UIViewAutoresizingMaskFlexibleLeftMargin |
UIViewAutoresizingMaskFlexibleWidth |
UIViewAutoresizingMaskFlexibleHeight;
相當於請注意,通過代碼執行此操作和通過IB執行操作是有區別的。例如,邊界的IB自動設置爲struts,例如,選擇正確的邊框意味着「我的右邊框現在粘貼到超視圖的右邊框」。另一方面,代碼則相反,你需要指定哪些邊界不是支撐的,也就是說。他們很靈活。高度和寬度正常工作。
佈局子視圖(iOS版2,但對於iOS5的+陷阱)
如果一切都失敗了,不要開始做人工定位所有的地方,我一直在那個位置,它只是導致unmaintanable,意大利麪代碼,其中三種或更多種方法與相同的視圖屬性混淆。
取而代之,更願意在UIView -layoutSubviews
上做所有的定製定位。當setNeedsLayout
被觸發時,這個方法會根據需要被調用,例如,當視圖的寬度發生變化時,子視圖將獲取佈局子視圖事件。也使得實現旋轉接口變得更容易,因爲這個方法被調用了新的寬度,以確定動畫的外觀。
請記住佈局子視圖在執行自動佈局/自動調整大小的遮罩後工作。
來源
2011-08-30 19:10:19
Can
爲什麼不能在你的孩子UIView上正確設置'autoresizingMask'?畢竟,這是一個子視圖,如果你讓它成爲另一種觀點的孩子! –
感謝您的回覆。 我在子視圖中做了這個: – androidkc
[self setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin]; 但似乎不起作用。 – androidkc