最近在使用storyBoard構建界面部分,碰到autoResizing做界面適配的镶奉,這邊簡單介紹一下是鬼,要注意的是autoResizing是一個相對于父控件布局饥追。
autoResizing介紹
需要將UIView的autoresizeSubviews設為YES离斩,這個屬性默認是YES的银舱;那么在其中的子View就會根據其自身的autoresizingMask屬性來自動其與superView的位置與大小。
而autoresizingMask的值如下:
typedef NS_OPTIONS(NSUInteger, UIViewAutoresizing) {
UIViewAutoresizingNone = 0,
UIViewAutoresizingFlexibleLeftMargin = 1 << 0,
UIViewAutoresizingFlexibleWidth = 1 << 1,
UIViewAutoresizingFlexibleRightMargin = 1 << 2,
UIViewAutoresizingFlexibleTopMargin = 1 << 3,
UIViewAutoresizingFlexibleHeight = 1 << 4,
UIViewAutoresizingFlexibleBottomMargin = 1 << 5
};
在xcode中會看到
autoresizing調整
需要注意的是與margin相關的四個值在虛線的時候才有用跛梗,width和height在實線的時候才有用。
UIViewAutoresizingNone: view的frame不會隨superview的改變而改變
UIViewAutoresizingFlexibleLeftMargin: 自動調整view與superview左邊的距離保證右邊距離不變
UIViewAutoresizingFlexibleWidth: 自動調整view的寬棋弥,保證與superView的左右邊距不變
UIViewAutoresizingFlexibleRightMargin: 自動調整view與superview右邊的距離保證左邊距不變
UIViewAutoresizingFlexibleTopMargin: 自動調整view與superview頂部的距離保證底部距離不變
UIViewAutoresizingFlexibleHeight: 自動調整view的高核偿,保證與superView的頂部和底部距離不變
UIViewAutoresizingFlexibleBottomMargin: 自動調整view與superview底部部的距離保證頂部距離不變
未完待續(xù),ios的自動布局還有autoLayout和sizeClass