6.8 实例项目演示Neon的使用/项目在横屏竖屏都能够完美显示 [iOS开发中的神兵利器]

1. 本节课将通过一个复杂的实例项目,演示布局框架的使用。首先在左侧的项目导航区,打开视图控制器的代码文件。

2. 接着在当前的类文件中,引入已经安装的第三方类库。

3. 引入相关类库之后,开始编写代码,使用布局的方法,搭建一个用户界面。

4. 添加一个视图变量,作为界面上的搜索栏。

5. 接着添加一个文本框,放在搜索栏视图中。

6. 接着添加一个图像视图变量和一个视图变量,用来创建背景横条。

7. 添加一个图像视图变量,用来显示用户的头像。另一个标签控件,用来显示用户的名称。

8. 添加一个图像视图变量,作为摄像机按钮,当点击该按钮时,使用手机中的相机功能。

9. 接着添加三个视图变量,作为栏目缩略图的容器。

10. 依次添加四个按钮变量,作为背景横条下方的四个功能按钮。

11. 依次添加四个视图变量,作为四个功能按钮的容器。

12. 继续添加三个视图变量,作为三个缩略图的容器。

13. 添加三个图像视图变量,作为三个栏目的缩略图。

14. 接着添加三个标签变量,用来显示三个栏目的名称。

15. 设置根视图的背景颜色。

16. 从项目中读取一张图片素材。

17. 然后初始化一个图像视图,用来显示加载的图片。

18. 设置图像视图的内容模式为居中,当图片尺寸超过图像视图时,图像将居中显示在图像视图的显示区域。

19. 将图像视图添加到根视图。

20. 初始化一个视图对象,作为搜索框视图。

21. 设置搜索框视图的背景颜色,然后将视图添加到根视图。

22. 初始化一个文本框,作为搜索输入框。

23. 设置输入框的背景颜色。

24. 接着设置输入框的边框样式和文字对齐方式。

25. 设置输入框的字体属性。

26. 初始化一个样式字典对象,用来设置输入框的占位符的文字颜色。

27. 初始化一个属性字符串常量。

28. 然后设置输入框的占位符属性。

29. 设置输入框的文字颜色,并将输入框添加到搜索栏视图中。

30. 接着从项目中读取一张图片素材,将初始化一个图像视图显示该图片,作为用户的头像。

31. 给图像视图添加宽度为2的边框,并设置边框的颜色为白色。

32. 将头像添加到图像视图中。

33. 初始化一个标签控件。

34. 设置标签控件的文字内容和字体颜色。

35. 设置标签的字体属性,并设置标签控件可以显示两行文字。

36. 将标签控件也添加到横条图像视图中。

37. 从项目中读取一张相机图片。

38. 然后初始化一个图像视图,显示该图片,将图像视图也添加到横条视图中。

39. 接着初始化一个视图对象,该视图对象将作为四个功能按钮的容器。

40. 设置视图对象的背景颜色为白色。

41. 给视图对象的层添加一个投影效果,并设置阴影的颜色和偏移距离。

42. 接着设置阴影的不透明度和半径。

43. 将视图对象添加到根视图。

44. 接着初始化另一个视图对象,该视图对象将作为第一个功能按钮的容器。

45. 从项目中读取一张图片素材。

46. 初始化一个按钮控件,并设置按钮在正常状态下的图像属性。

47. 将按钮控件添加到视图容器中。

48. 初始化另一个视图对象,该视图对象将作为第二个功能按钮的容器。

49. 从项目中读取一张图片素材。

50. 初始化一个按钮控件,并设置按钮在正常状态下的图像属性。

51. 将按钮控件添加到视图容器中。

52. 使用相同的方式,初始化一个视图对象,作为第三个功能按钮的容器。

53. 从项目中读取一张图片素材。

54. 初始化一个按钮控件,并设置按钮在正常状态下的图像属性。

55. 设置按钮控件内容的显示区域。

56. 将按钮控件添加到视图容器中。

57. 初始化一个视图对象,作为最后一个功能按钮的容器。

58. 从项目中读取一张图片素材。

59. 初始化一个按钮控件。

60. 设置按钮在正常状态下的图像属性。

61. 将按钮控件添加到视图容器中。

62. 接着将四个功能按钮的容器视图,添加到白色背景的视图中。

63. 初始化第二个内容视图对象,并将视图对象添加到根视图。

64. 依次初始化三个缩略图的容器视图,作为三个栏目的缩略图的容器。

65. 从项目中依次加载三张图片资源,作为栏目的缩略图。

66. 初始化三个图像视图,用来显示三个缩略图。

67. 设置三个图像视图,拥有相同的内容模式。

68. 设置图像视图的层的裁切属性,对边缘进行裁切,只显示图像中间的内容。

69. 将三个图像视图,添加到缩略图视图容器中。

70. 然后将三个缩略图容器,添加到第二个内容视图。

71. 接着初始化三个标签控件,用来显示栏目的名称。

72. 设置三个标签控件的背景颜色为白色。

73. 给三个标签控件设置文字内容。

74. 设置标签控件的文字对齐方式。

75. 接着设置标签的字体属性。

76. 将三个标签控件,添加到缩略图容器中。

77. 添加一个方法,用来处理对子视图进行重新布局的事件。

78. 首先获得当前设备的朝向是否为横向。

79. 接着设置横条视图的高度,为根视图高度的0.43倍。

80. 根据屏幕的朝向,设置不同的用户头像视图区域的高度。

81. 根据屏幕的朝向,设置不同的搜索条的高度。

82. 通过计算获得头像的尺寸。

83. 将横条视图约束在屏幕的顶部位置,并设置视图的间距和高度属性。

84. 将搜索条同样约束在屏幕的顶部位置,并设置搜索条的间距和高度属性。

85. 将搜索输入框约束在搜索条的顶部,和父视图在水平方向上保持15点的距离,垂直方向上保持6点的距离,输入框的高度为24。

86. 将头像视图约束在父视图的左下角,并设置头像视图和父视图的间距为15。

87. 将用来显示用户名称的标签控件,约束在头像视图的右侧居中的位置,并设置标签和头像视图的间距,以及自身的高度。

88. 接着将摄像按钮,约束在父视图的右下角,并设置和父视图之间的距离,以及自身的尺寸。

89. 然后将四个功能按钮所在的容器视图,约束在横条视图的下方并居中对齐,同时设置容器视图的高度为62。

90. 然后通过组约束的方式,将容器视图中的四个功能按钮,在水平方向上进行等距排列,并设置间距为10。

91. 给四个功能按钮添加约束关系,将它们放置在父视图的中心位置,同时设置它们的尺寸信息。

92. 接着将第二个,用来显示栏目缩略图的容器视图,约束在第一个容器视图的正下方,并设置高度为108。

93. 通过组约束的方式,将容器视图中的三个栏目视图,在水平方向上进行等距排列,并设置间距为10。

94. 依次设置三个栏目视图的约束关系,将它们约束在父视图的顶部,并设置它们的尺寸信息。

95. 接着设置三个栏目标签的约束关系,将它们约束在父视图的底部,和栏目的缩略图垂直居中,并设置它们的尺寸信息。

96. 最后设置设备的顶部状态栏的样式,接着点击左上角的[编译并运行]按钮,启动模拟器预览项目。

97. 模拟器启动后,在屏幕上显示了添加约束后的用户界面。接着查看界面在横屏时的效果,依次点击[硬件 > 向左旋转]命令。

99. 模拟器转换成横屏模式之后,用户界面根据约束关系,自动调整各个元素的位置和尺寸。最后点击此处的[停止]按钮,关闭模拟器并结束本节课程。

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

apps8 2.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,200评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,526评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,321评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,601评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,446评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,345评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,753评论 3 387
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,405评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,712评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,743评论 2 314
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,529评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,369评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,770评论 3 300
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,026评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,301评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,732评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,927评论 2 336

推荐阅读更多精彩内容