iOS界面动画教程之自动布局(Study)

2
iOS界面动画教程之自动布局(Study)_第1张图片
2

3
iOS界面动画教程之自动布局(Study)_第2张图片
3

4 创建项目

iOS界面动画教程之自动布局(Study)_第3张图片
1

5
iOS界面动画教程之自动布局(Study)_第4张图片
1

6 为了要定位 TextView在视图的位置 我们需要在

iOS界面动画教程之自动布局(Study)_第5张图片
1

定位 Frame 定位完成 (当前的视图 大小和 位置以点为单位 ,以绝对位置呈现在,iphone 一点代表 几个像素 6p是3个像素 ,其他是2个像素)

iOS界面动画教程之自动布局(Study)_第6张图片
1

运行

7
iOS界面动画教程之自动布局(Study)_第7张图片
1

8
iOS界面动画教程之自动布局(Study)_第8张图片
2

8 Interface Builder 简称 IB (提供了自动调整大小 和 重新定位的功能 来帮助我们)

我们在故事版中创建的视图控制器 默认允许


iOS界面动画教程之自动布局(Study)_第9张图片
1

9.导致控制的长和 宽 是 600 600个点 (既不像iphone 也不像ipad 尺寸 ,苹果希望 人们将注意力放在 界面元素之间的关系上, 而不是关注物理真机的 分辨率 和 宽高比上)

1

10. 我们可以将 TextView.Center.y 设置为 父类的Center.y 就意味着 TextView总是 显示在居中的位置,而不是依赖于在哪个屏幕上运行了。

还可以 设置 TextView的宽度 是 父视图宽度的90% ,这样 TextVeiw与父视图的边缘各有5%的间隙 ,有了自动布局,可以很愉快的在任何的设备和任何方向上完美的排列界面元素,当我们的项目 使用了自动布局后,不能设置 视图 的 Frame Center bounds ,Xcode强制用 约束 代替 之前的 位置 和大小 信息。

11 首先 我们有一个

-ViewController(包含IBOutlet) 如下图

我们将会在 InterfaceBuilder 中来创建这些元素与之关联,包含了 TableView(Data Source)俩个协议方法,还有在是视图中添加一个表格视图(TableView)

1

-源文件 HorizaontailtemList.swift (这个类是滚动视图的子类,用于显示滚动视图列表)

iOS界面动画教程之自动布局(Study)_第10张图片
1

导航栏


iOS界面动画教程之自动布局(Study)_第11张图片
1

左侧大纲导引视图


iOS界面动画教程之自动布局(Study)_第12张图片
1

工作区


iOS界面动画教程之自动布局(Study)_第13张图片
1

对象库找到 UIView


iOS界面动画教程之自动布局(Study)_第14张图片
1

拖拽到控制器的视图上面


iOS界面动画教程之自动布局(Study)_第15张图片
1

更改属性


iOS界面动画教程之自动布局(Study)_第16张图片
1

调整视图大小 使之更像导航栏


iOS界面动画教程之自动布局(Study)_第17张图片
1

注意 我们应该让视图边缘与 控制器的 top left right 相重合 ,接下来我们需要创建约束了

  • 选择当前视图 ,点击右下角
iOS界面动画教程之自动布局(Study)_第18张图片
1
iOS界面动画教程之自动布局(Study)_第19张图片
1

此时 添加了 三个约束到 视图里面 ,所创建的每一个约束都与 一个等于表达式 相关,比如说 顶部的约束


iOS界面动画教程之自动布局(Study)_第20张图片
当前这个View的top = 1倍 的 俯视图的top + 当前的常量 (0)

接着 ,为这个View 高度 添加一个 约束


iOS界面动画教程之自动布局(Study)_第21张图片
1

此时我们已将为这个View 添加了 4个约束了,这四个约束是否可以描述这个 View的位置和 大小

如果我们想更改 高度约束 怎么做呢 ,如何编辑已经创建好的高度约束呢?


iOS界面动画教程之自动布局(Study)_第22张图片
1

然后在这里面找到 为 View创建好的4个约束,点击Edit ,可修改

运行结果

iOS界面动画教程之自动布局(Study)_第23张图片
1
iOS界面动画教程之自动布局(Study)_第24张图片
2

添加Lable 到 视图上


iOS界面动画教程之自动布局(Study)_第25张图片
1
iOS界面动画教程之自动布局(Study)_第26张图片
字号设置为 21
iOS界面动画教程之自动布局(Study)_第27张图片
Alignment设置为 居中
iOS界面动画教程之自动布局(Study)_第28张图片
1

现在 必须要满足 Label 在 View 中 居中显示

iOS界面动画教程之自动布局(Study)_第29张图片
1
iOS界面动画教程之自动布局(Study)_第30张图片
1
iOS界面动画教程之自动布局(Study)_第31张图片
2

除非 位置 是 View的中央 ,否则 会 看到 橘黄色的指示线 和 虚线

当我们在 IB 中 设置用户界面的时候,拖拽的视图 可能会 破坏 约束的方程式

如果 将Label 放在 水平 和 垂直 居中 ,IB会显示蓝色的 指示线 表示Label的水平居中 和 垂直居中 。

如果出现了橘黄色,则说明 水平 和 垂直居中被破坏了

在IB中 ,橘黄色的实线代表的是 当前这个元素的实际位置, 而虚线代表应该所处的位置。

要想修复这个问题,

在这里解决 关于 约束冲突问题

iOS界面动画教程之自动布局(Study)_第32张图片
1

里面有很多选项,我们只希望 让 元素 移动 到 约束的位置上


iOS界面动画教程之自动布局(Study)_第33张图片
1
iOS界面动画教程之自动布局(Study)_第34张图片
1

这样 已将将 元素对象 放到 适合 的位置上了

iOS界面动画教程之自动布局(Study)_第35张图片
1

你可能感兴趣的:(iOS界面动画教程之自动布局(Study))