IOS自动布局Autoresizing

作者: Helen_2423 | 来源:发表于2016-06-19 01:21 被阅读114次

IOS中的两大自动布局利器:Autoresizing和Autolayout。

 autoresizing是UIView的属性,一直都有,使用简单,但是没有autolayout强大。autolayout是IOS6以后的新技术,更加强大。一般默认Autoresizing都是打开的状态。

想要单独使用autoresizing 首先得将storybord中的useoutlayout选项按钮关闭,才能在视图进行以下操作。

Autoresizing特性

当UIView的autoresizesSubviews是YES时,(默认是YES), 那么在其中的子view会根据它自身的autoresizingMask属性来自动适应其与superView之间的位置和大小。

autoresizingMask是一个枚举类型, 默认是UIViewAutoresizingNone, 也就是不会autoresize:

其实如何理解这几个值很简单,那就是从xib里面看。 我们在一个xib文件中,取消勾选autolayout,(默认使用autolayout时,autoresizing看不到)。那么我们可以在布局那一栏看到如何设置autoresizing.

这些项分别代表:

UIViewAutoresizingNone view的frame不会随superview的改变而改变

UIViewAutoresizingFlexibleLeftMargin 自动调整view与superview左边的距离保证右边距离不变

UIViewAutoresizingFlexibleWidth 自动调整view的宽,保证与superView的左右边距不变

UIViewAutoresizingFlexibleRightMargin 自动调整view与superview右边的距离保证左边距不变

UIViewAutoresizingFlexibleTopMargin 自动调整view与superview顶部的距离保证底部距离不变

UIViewAutoresizingFlexibleHeight 自动调整view的高,保证与superView的顶部和底部距离不变

UIViewAutoresizingFlexibleBottomMargin 自动调整view与superview底部部的距离保证顶部距离不变

以上这些都较易理解, 但是autoresizing还有一些组合场景。那就是组合使用的场景。

相关文章

网友评论

本文标题: IOS自动布局Autoresizing

本文链接:https://www.haomeiwen.com/subject/rsdbdttx.html