关于UIViewAutoresizing
UIView有一个autoresizingMask属性:
@property(nonatomic) UIViewAutoresizing autoresizingMask; // simple resize. default is UIViewAutoresizingNone
UIViewAutoresizing是一个option
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
};
适配规则
- UIViewAutoresizingFlexibleLeftMargin
自动调整view与父视图左侧的距离,也就是说固定了view与父视图右侧的距离
- UIViewAutoresizingFlexibleWidth
自动调节view的宽,也就是说固定了view与父视图左侧和右侧的距离
view会被向两边拉伸,或者向中间收缩
- UIViewAutoresizingFlexibleRightMargin
自动调节view与父视图右侧距离,也就是说固定了view与父视图左侧的距离
- UIViewAutoresizingFlexibleTopMargin
自动调节view与父视图上边距,也就是说固定了view与父视图下边距的距离
- UIViewAutoresizingFlexibleHeight
调节view与父视图的相对宽,也就是说固定了view与父视图的左右侧边距。
- UIViewAutoresizingFlexibleBottomMargin
调节view相对父视图的高度,固定了view与父视图上下边距。
举例
//固定view和父视图相对的大小
view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;