AutoLayout

在文章开始先放上几个连接,是我当时为了弄清楚AutoLayout看过的比较有帮助的文章:html

http://www.cocoachina.com/ios/20141011/9871.htmlios

http://www.cocoachina.com/ios/20150421/11632.html布局

https://www.natashatherobot.com/ios-autolayout-scrollview/prototype

 

Equality, Not Assignment翻译

“是相等,不是赋值” ---- 理解这个很是重要,由于赋值是将等式右边的结果赋给左边的变量,而相等是让等式的两边结果相等,确实很难用表达式表达这样一种关系,但在Apple文档用了=,若是只是看等式很难知道这其中的奥妙,最关键是看Apple的文档对这个的解释,即便换作是 == 也很难说明其内在的逻辑关系,==是逻辑判断,其结果是真或者假,在APPLE 的文档大概的表达的意思是,依据一组相互做用的约束,使每一个约束的关系(关系包括三种:等于、大于等于和小于等于)两边的运算结果知足这种关系。设计

 

prototype constraintshtm

当咱们把一个视图拖到场景中时,设计起会默认帮咱们创建若干预先定义的prototype constrains 约束,这种约束是不可见也不能编辑的。当咱们添加一个约束的时候,这种prototype约束就会自动去除,因此咱们要完成全部约束让这个视图的自动布局能正确工做。ci

 

为何是Leading和Trailing,而不是left 和 right?文档

其实left 和 right 都有,可是考虑到阅读方向的问题,leading 和 Trailing 就很容易理解了,大部分地区和国家的阅读习惯都是从左到右,可在某些地区仍然保留有从右向左阅读的习惯,那么Leading和Trailing表示头和尾就很容易理解,并且会随着阅读方向的调整而自动调整,而left 和 right 确实绝对值,左边就是左边,右边就是右边。因此使用leading 和 Trailing能够自适应。it

 

Intrinsic Content Size, Compression Resistance 和 Content Hugging

Instrinsci Content Size 内在的内容尺寸, 这个能够参考一下按钮控件, 按钮控件中间包裹文字的区域的大小就是Intrinsic Content Size,  Compression Resistance 按照翻译就是抗压性,而Content Hugging就是抗拉性,能够想象内容空间由两股力量做用的结果,一个力量是要撑开空间(Compression Resistance),另一个力量是拉住不让向外扩张(Content Hugging),当两个力量共同做用在一个方向上时候,其结果决定了在这个方向上的大小。默认状况下,抗拉性的优先级别为250(可理解为权重),而抗压性的优先级为750,因此更倾向于让内容空间更大。

相关文章
相关标签/搜索