在 UIView 中有一个autoresizingMask的属性,它对应的是一个枚举的值(如下),属性的意思就是自动调整子控件与父控件中间的位置,宽高。
enum { UIViewAutoresizingNone = 0, UIViewAutoresizingFlexibleLeftMargin = 1 << 0, UIViewAutoresizingFlexibleWidth = 1 << 1, UIViewAutoresizingFlexibleRightMargin = 1 << 2, UIViewAutoresizingFlexibleTopMargin = 1 << 3, UIViewAutoresizingFlexibleHeight = 1 << 4, UIViewAutoresizingFlexibleBottomMargin = 1 << 5 }; typedef NSUInteger UIViewAutoresizing;
UIViewAutoresizingNone 不自动调整。
UIViewAutoresizingFlexibleLeftMargin 自动调整与superView左边的距离,也就是说,与superView右边的距离不变
UIViewAutoresizingFlexibleRightMargin 自动调整与superView的右边距离,也就是说,与superView左边的距离不变
UIViewAutoresizingFlexibleWidth 自动调整view的宽度
优先级:Width的优先级最高,Left和Right的优先级一样高
UIViewAutoresizingFlexibleHeight 自动调整view的高度,Top与Bottom不会自动调整UIViewAutoresizingFlexibleTopMargin
扫描二维码关注公众号,回复:
540404 查看本文章
UIViewAutoresizingFlexibleBottomMargin
优先级:Height的优先级最高,Top与Bottom的优先级一样高
同时可以设置多个属性,根据优先级来决定哪个属性起作用。
还有一个属性就是autoresizesSubviews,此属性的意思就是,是否可以让其subviews自动进行调整,默认状态是YES,就是允许,如果设置成NO,那么subView的autoresizingMask属性失效。