1. 本节课将为您演示,如何给视图添加对齐和填充的约束。首先在左侧的项目导航区,打开视图控制器的代码文件。





6. 接着初始化另一个数组对象,共包含12种不同的对齐方式。



9. 初始化另一个视图对象,并设置视图对象的背景颜色为黑色。

10. 将第二个视图对象,添加到第一个视图对象,然后将第一个视图对象添加到根视图。

11. 接着创建一个12次的循环语句,用来创建12个不同位置的视图对象。


13. 根据循环的索引,从数组中获得一个颜色,作为视图的背景颜色。然后将视图对象添加到父视图中。

14. 根据循环的索引,从对齐数组中获得一种对齐方式,作为视图对象相对于父视图的对齐方式,并设置视图对象的间距、宽度和高度属性。

15. 在视图加载完成的方法中,调用您刚刚创建的对齐示例方法。

16. 接着点击左上角的[编译并运行]按钮,启动模拟器预览项目。

17. 在弹出的模拟器中,显示了一个位于中心的黑色视图,在黑色视图的周围,显示了12个拥有不同对齐方式的小视图。



20. 该方法将用来演示视图之间,在对齐和填充方面的约束关系。


22. 设置视图对象的背景颜色为黑色,并将视图对象添加到根视图。

23. 创建两个浮点数据,分别表示视图之间的距离,和视图的尺寸。


25. 设置视图对象的背景颜色为橙色,并将视图对象添加到父视图中。

26. 将视图对象约束在父视图的左上角,并设置视图对象的间距和尺寸属性。


28. 设置视图对象的背景颜色为紫色,并将视图对象添加到父视图中。

29. 将视图对象约束在橙色视图的右侧,并且两个视图的顶边对齐,同时调整视图对象的宽度,使视图在水平方向上填满父视图。


31. 接着点击左上角的[编译并运行]按钮,启动模拟器预览项目。

32. 模拟器启动后,在黑色视图的左上角,显示了一个橙色视图,右上角则是一个紫色视图,紫色视图填满了橙色视图右侧的所有区域。



35. 将视图对象和橙色视图的底部中心位置对齐,并调整视图对象的高度,使视图对象在垂直方向上填满父视图。

36. 模拟器启动后,紫色视图填满了橙色视图右侧的所有区域。点击此处的[停止]按钮,关闭模拟器。


38. 将视图对象和橙色视图右对齐,并且匹配橙色视图边框的顶部。接着点击左上角的[编译并运行]按钮,启动模拟器预览项目。

39. 模拟器启动后,紫色视图填满了橙色视图下方的所有区域。点击此处的[停止]按钮,关闭模拟器。


41. 我们将在该方法中,演示在两个视图之间的第三个视图的对齐约束。


43. 设置视图的背景颜色为浅灰色,并将视图对象添加到根视图。

44. 创建两个浮点数据,分别表示视图之间的距离,和视图的尺寸。


46. 设置视图对象的背景颜色为黑色,并将视图对象添加到父视图。

47. 将该视图对象,约束在父视图的左上角,并设置它的间距和尺寸属性。


49. 设置视图对象的背景颜色为黑色,并将视图对象添加到父视图。

50. 将该视图对象,约束在父视图的右上角,并设置它的间距和尺寸属性。


52. 设置视图对象的背景颜色为黑色,并将视图对象也添加到父视图。

53. 将该视图对象,约束在父视图的左下角,并设置它的间距和尺寸属性。

54. 接着初始化一个视图对象,该视图对象将被放置在两个视图之间的位置。

55. 设置视图对象的背景颜色为橙色,并将视图对象添加到父视图。

56. 设置视图对象位于第一个子视图和第二个子视图之间的位置,并使它们在水平方向上顶部对齐。


58. 设置视图对象的背景颜色为紫色,并将视图对象添加到父视图。

59. 设置视图对象位于第一个子视图和第三个子视图之间的位置,并使它们在垂直方向上进行右对齐。接着点击右侧的垂直滚动条,跳转到编辑区的顶部位置。


61. 接着点击左上角的[编译并运行]按钮,启动模拟器预览项目。

62. 在灰色视图的三个角落,各有一个黑色视图。在上方的两个黑色视图的中间有一个橙色视图,三个视图顶边对齐。左边的两个黑色视图和紫色视图保持右对齐。




66. 创建两个浮点数据,分别表示视图之间的距离,和视图的尺寸。



69. 设置视图对象的背景颜色为黑色,并将视图对象添加到父视图。

70. 将该视图对象,约束在父视图的左上角,并设置它的间距和尺寸属性。


72. 设置视图对象的背景颜色为黑色,并将视图对象也添加到父视图。

73. 将该视图对象,约束在父视图的右上角,并设置它的间距和尺寸属性。







80. 将标签约束在第一个子视图和第二个子视图之间的位置,并使它们在水平方向上顶部对齐,标签的高度为自适应。


82. 接着点击左上角的[编译并运行]按钮,启动模拟器预览项目。

83. 模拟器启动后,在两个黑色视图的中间,拥有一个橙色的标签对象,标签对象的高度,是根据其文字内容的数量而自动调整的。



86. 仍旧将标签约束在两个子视图之间的位置,并使它们在水平方向上顶部对齐,只是固定标签的高度。然后再次启动模拟器,预览修改过的效果。

87. 模拟器启动后,黑色视图的中间拥有一个橙色的标签,其高度是固定的,标签中的文字内容被自动裁剪,并使用省略号表示被裁剪的内容。

本文整理自:《app开发中的神兵利器》,真正的[手把手]教学模式,用最快的速度上手iOS开发,苹果商店App Store免费下载:https://itunes.apple.com/cn/app/id1209739676,或扫描本页底部的二维码。课程配套素材下载地址:资料下载

网友评论