以下的都是在为iPhone 6设计自适应布局(一)学习的个人总结
IOS自适应布局
1.页边间距约束(Leading and Trailing space)
页边间距约束分前部间距约束(Leading space constaint)和尾部间距约束(Trailing space constaint)。
2.水平间距约束(Horizontal space constaint)
给蓝色方块和粉色方块添加水平间距约束,约束会使这两个方块之间的距离永远不变。
3.等宽约束(Equal widths constaint)
给这两个方块添加一个等宽约束,使两个方块宽度保持一致。
4.方向比例约束(Aspect ratio constaint)
给这两个方块添加方向比例约束,这个约束使方块在满足其他约束的前提下始终保持高和宽的比例相同。所以在横屏时就会以方块的宽度为比例标准,将高度的比例改为宽度的比例。
5.实践布局约束
对自动布局还是不是很熟,应该多加练习。
添加布局约束的方式
在storyboard中添加约束的方式:
1.底部布局约束按钮
在屏幕上选择一个或多个对象,然后点击底部的布局约束按钮添加一个或多个需要的约束。它的好处是可以直观的看到当前选择的对象已经添加了该类中的那些约束。如果你只选择了一个对象想要添加某个约束,但发现该约束是不可选的,那么就意味着这个约束是适用于两个以上对象的约束。
2.按住Control键拖拽鼠标
也可以选择一个对象,然后按住Control键和鼠标左键,拖拽鼠标到另一个对象(容器对象,也就是父对象或者选中对象自己),松开鼠标后会弹出适用的约束菜单,你可以选择约束进行添加。
3.菜单/绑定快捷键
也可以通过菜单选项editor —> pin给一个或多个对象添加布局约束。这是效率最低的一种方式。如果你发现有些约束你会一遍遍的反复添加,那么你就可以给该约束绑定一个快捷键来提高效率。
检查和编辑已添加的布局约束
选中一个对象,然后打开右侧工具栏,选择Size Inspector面板。或者在storyboard界面左侧的结构树中查看约束。
移除布局约束
布局约束可以添加自然也就可以删除。选中某个约束使其高亮显示,然后按下Delete键移除该约束。
如果想移除某个对象上所有的约束,有一个快捷的方式。选择该对象,然后在底部点击Resolve Auto Layout Issues按钮,选择Clear Constaints。
布局出现的问题和冲突
我们在添加约束时,经常伴随有警告或者错误出现。虽然有些警告是因为我们还没有添加完约束出现的,当我们添加完我们设想的约束后警告就会自然消失。但大多数的警告还是指明我们的约束确实存在问题,需要我们修复。
错误摆放view的警告
view位置的错误摆放是一个很常见的警告。当一个view没有摆放在约束规定的位置的时候,会出现该警告。
这些问题会在你切换不同设备的模拟器或鼠标不小心移动了某个对象时出现。
选中一个错误摆放的对象,在屏幕上会出现布局约束给你提示的正确的摆放位置。
缺少布局约束的错误
我们回到早些时候的示例中。这时候我们没有给方块添加Y坐标位置的约束。在运行时没有问题,因为iOS会假设方块的位置就是我们在storyboard中摆放的那个位置。但是Xcode会提示我们一个缺失约束的错误,为了避免意外发生(更换设备尺寸),我还是要根据Xcode的提示添加缺失的约束。
我们给这两个方块添加一个top space to to layout guide约束使方块的位置更加清晰,并消除Xcode的错误提示。