@property(nonatomic) UIViewAutoresizing autoresizingMask;
UIViewAutoresizing是一个枚举类型,默认是UIViewAutoresizingNone,也就是不做任何处理。
该属性用于自动调节子控件在父控件中的位置和宽高。
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 };
各属性值的含义
UIViewAutoresizingNone 不自动调整。UIViewAutoresizingFlexibleLeftMargin 自动调整view与父视图左边距,以保证右边距不变UIViewAutoresizingFlexibleWidth 自动调整view的宽度,保证左边距和右边距不变UIViewAutoresizingFlexibleRightMargin 自动调整view与父视图右边距,以保证左边距不变UIViewAutoresizingFlexibleTopMargin 自动调整view与父视图上边距,以保证下边距不变 UIViewAutoresizingFlexibleHeight 自动调整view的高度,以保证上边距和下边距不变 UIViewAutoresizingFlexibleBottomMargin 自动调整view与父视图下边距,以保证上边距不变
例子
在View上加载一个自定义控件,如下图所示
转屏后的效果,如下图所示
self.autoresizingMask = UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin;
最终运行效果如下图所示