前言
在开始学习iOS开发时,和百元钞大小相仿的iPhone6 plus 就已经在土豪圈里大行其道,继而6s也华丽的浮出水面,所以在我最初接触UI界面实现时,就已经需要去考虑各个机型的适配,在网上去搜索相关教程时,看到各位前辈大神对iOS布局演变方式一一道来,如数家珍时,我也只能怀着对曾经那一步到位的布局方式的向往一步到位的学习现有的布局方式。好了,吐槽结束,下面,Let's Constraints~
布局方式简介
从目前来看,主要的布局方式有两种:代码布局和xib布局,但是这两种布局方式并不冲突,可以同时使用。自动布局最重要的是约束:UI元素间关系的数学表达式。约束包括尺寸、由优先级和阈值管理的相对位置。它们是添加剂,可能导致约束冲突、约束不足造成布局无法确定。这两种情况都会产生异常。
代码布局简介
代码布局适合键盘派,指尖跃动,代码宛如音符伴着节奏浮现,将一切都描述入微,待尘埃落定,我们静静的持茗轻抿,看在氤氲的热气蒸腾中,字母慢慢融化,呈现出我们心中的那一片世界。据我了解,苹果公司现在官方给出的布局方式现在主是采用AutoLayout,但是对于一些简单页面来说,这种方式有种得不偿失,因为增加了大量代码的代价下,带来的界面改观却并不明显,但是对于那些页面相对比较复杂的页面,它带来的改变是页面具有更强的适应各种屏幕的能力,并且大大的提高了效率。传说中,因其灵活性及一些其他原因,AutoLayout的代码布局方式十分困难,所以我就也只能退而求其次的选择另外一种能够实现自动布局的方式,那就是大名鼎鼎的Masonry。
如有兴趣请移步:AutoLayout使用总结のMasonry
xib布局简介
xib布局适合鼠标派,在Storyboard上描绘自己的story,挥手之间界面跃然眼前,一切工作行云流水,它让你能够工作的像个艺术家,所想即所见,所见即所得,它能大大的加快你工程的脚步。从iOS8开始,我们不仅仅可以针对于某一设备进行布局,还可以利用SizeClass对多种设备不同尺寸的界面分别进行约束。从而获得更好的展示效果。
如有兴趣请移步:[AutoLayout使用总结のSizeClass&AutoLayout]