UIView 中有一个autoresizingMask的属性,其是一个枚举类型,作用:自动调整子控件与父控件中间的位置,宽高。
enum {
UIViewAutoresizingNone = 0,
UIViewAutoresizingFlexibleLeftMargin = 1 << 0,
UIViewAutoresizingFlexibleWidth = 1 << 1,
UIViewAutoresizingFlexibleRightMargin = 1 << 2,
UIViewAutoresizingFlexibleTopMargin = 1 << 3,
UIViewAutoresizingFlexibleHeight = 1 << 4,
UIViewAutoresizingFlexibleBottomMargin = 1 << 5
};
UIViewAutoresizingNone为不自动调整。
UIViewAutoresizingFlexibleLeftMargin 自动调整与superView左边的距离,保证与superView右边的距离不变。
UIViewAutoresizingFlexibleRightMargin 自动调整与superView的右边距离,保证与superView左边的距离不变。
UIViewAutoresizingFlexibleTopMargin 自动调整与superView顶部的距离,保证与superView底部的距离不变。
UIViewAutoresizingFlexibleBottomMargin 自动调整与superView底部的距离,同时,与superView顶部的距离不变。
UIViewAutoresizingFlexibleWidth 自动调整自己的宽度,保证与superView左边和右边的距离不变。
UIViewAutoresizingFlexibleHeight 自动调整自己的高度,保证与superView顶部和底部的距离不变。
UIViewAutoresizingFlexibleLeftMargin |UIViewAutoresizingFlexibleRightMargin 自动调整与superView左边的距离,保证与左边的距离和右边的距离和原来距左
边和右边的距离的比例不变。比如原来距离为10,20,调整后的距离应为30,60,即30/10 = 60/0 ;
UIViewAutoresizingFlexibleTopMargin:与superView上边界保持动态距离(按比例)
UIViewAutoresizingFlexibleBottomMargin:与superView下边界保持动态距离(按比例)
UIViewAutoresizingFlexibleLeftMargin:与superView左边界保持动态距离(按比例)
UIViewAutoresizingFlexibleRightMargin:与superView右边界保持动态距离(按比例)
UIViewAutoresizingFlexibleWidth:与superView宽度成比例
UIViewAutoresizingFlexibleHeight:与superView高度成比例