IOS开发之——屏幕适配-AutoLayout布局实现(02)

一 概述

  • 关于AutoLayout的几个概念
  • 通过布局实现屏幕适配

二 关于AutoLayout的几个概念

2.1 什么是Autolayout

  • Autolayout是一种“自动布局”技术,专门用来布局UI界面的
  • 苹果官方也推荐开发者尽量使用Autolayout来布局UI界面
  • Autolayout能很轻松地解决屏幕适配的问题

2.2 为什么推出Autolayout

Autoresizing

  • 在Autolayout之前,有Autoresizing可以作屏幕适配,但局限性较大,有些任务根本无法完成
  • 相比之下,Autolayout的功能比Autoresizing强大很多

Autolayout的2个核心概念

  • 参照
  • 约束

2.3 Autolayout的警告和错误

警告

  • 控件的frame不匹配所添加的约束, 比如:约束控件的宽度为100, 而控件现在的宽度是110

错误

  • 缺乏必要的约束, 比如:只约束了宽度和高度, 没有约束具体的位置
  • 两个约束冲突, 比如:1个约束控件的宽度为100, 1个约束控件的宽度为110

三 通过布局实现屏幕适配

3.1 Autolayout说明

对其方式

说明:

  • Leading Edges:左对齐(选中多个View时有效)
  • Trailing Edges:右对齐(选中多个View时有效)
  • Top Edges:上对齐(选中多个View时有效)
  • Bottom Edges:下对齐(选中多个View时有效)
  • Horizontal Centers:水平居中对齐(选中多个View时有效)
  • Vertical Centers:垂直居中对齐(选中多个View时有效)
  • First Baselines:基准线对齐(选中多个View时有效)
  • Horizontally in Container:水平居中
  • Vertically in Container:垂直居中

约束方式设置

说明:

  • 上方的数字用于设置上下左右的边距(与临近的View)
  • Width,Height:分别设置View的宽度和高度
  • Equal Widths:等宽(多个View时生效)
  • Equal Heights:等高(多个View时生效)
  • Aspect Ration:宽高比

3.2 布局逻辑

蓝色View

说明:

  • 选中蓝色View,在Storyboard中选中约束,分别设置上左右边距及高度
  • 上边距相当于设置了y
  • 左边距相当于设置了x
  • 右边距,根据计算结果,相当于设置了宽度
  • Height:50,设置了高度

黄色View

说明:同时选择蓝、黄View,设置右对齐

说明:同时选中蓝、黄View,设置同宽、等高

说明:单独选中黄色View,设置上边距

说明:选中黄色View,将Mutiplier设置为0.5,意思为:黄色View的宽度=蓝色View的宽度*0.5+0