[相关信息:Xcode7.2 ; Swift2.0]
之前我们已经把列表的数据显示出来,然后运行APP,横屏一下看看效果
列表页的横屏模式
可以看到我们的布局约束还没有做,所以接下来要把布局做起来
为Table View添加布局约束
为行的左边的View添加布局约束
为行的右边的View添加布局约束
为3个Label添加垂直居中的约束
为Label -> 天,添加约束
为Label -> Label,添加约束
为Label -> 87,添加约束
调整Label -> Label的宽度
调整Label -> Label的行数
调整Label -> Label自身宽度变大的优先级
调整Label -> 87自身宽度变大的优先级
大概的意思就是设置优先级的。
- Hugging priority 确定view有多大的优先级阻止自己变大。
- Compression Resistance priority确定有多大的优先级阻止自己变小。
很抽象,其实content Hugging就是要维持当前view在它的optimal size(intrinsic content size),可以想象成给view添加了一个额外的width constraint,此constraint试图保持view的size不让其变大:
view.width <= optimal size
此constraint的优先级就是通过上面的方法得到和设置的,content Hugging默认为250.
Content Compression Resistance就是要维持当前view在他的optimal size(intrinsic content size),可以想象成给view添加了一个额外的width constraint,此constraint试图保持view的size不让其变小:
view.width >= optimal size
此默认优先级为750.
解释转自AutoLayout中的Content Hugging 和 Content Compression Resistance
这样设置好之后,当我们把87改为1187时,左边的内容label的宽度会缩小,多出来的宽度就让1187变宽。
好,我们来运行看下效果 (Command+R)
运行APP的效果 -> 竖屏
运行APP的效果 -> 横屏
👋👋👋
网友评论