1. 您将在本节课对单元格进行扩展,当手指在单元格左右滑动时,弹出不同的功能菜单。首先打开浏览器并进入当前的页面,然后点击此处的下载按钮。
image
2. 点击下载压缩包按钮,下载该项目的源代码。
image
3. 压缩包下载完成之后,将会自动解压为一个文件夹。点击示例文件夹左侧的箭头,显示该文件夹下的所有文件。
image
4. 然后在工程名称上双击,打开该示例工程。
image
5. 接着选择该项目中的几个文件,然后拖动到我们自己的项目中。按下键盘上的换档键,以同时选择多个文件。
image
6. 在按下快捷键的同时,选择另一个文件,以同时选择多个文件。
image
7. 接着按下键盘上的控制键,以选择其它不相邻的文件。
image
8. 然后点击选择另一个类文件。
image
9. 继续选择此处的桥接文件。
image
10. 将选择的所有文件,拖动到我们的项目中。
image
11. 在弹出的添加文件设置窗口中,保持默认的设置选项,点击完成按钮,完成文件的添加。
image
12. 接着对项目进行一些设置,以引入桥接文件。
image
13. 点击右侧的垂直滚动条,跳转到桥接文件配置区域。
image
14. 在配置选项中手指双击,打开设置窗口。
image
15. 在设置窗口中,输入刚刚导入的桥接文件的名称。
image
16. 然后按下键盘上的回车键,完成桥接文件的设置。
image
17. 接着在左侧的项目导航区,打开视图控制器的代码文件。
image
18. 现在开始编写代码,创建一个可通过左右滑动,来调出功能按钮的表格。
image
19. 首先添加一个邮件数据类,这个类将用来表示表格中的数据。
image
20. 给类依次添加四个属性,分别表示一封邮件的来源、主题、内容和日期。
image
21. 继续添加两个属性,表示邮件是否已被阅读,以及是否拥有标记。
image
22. 创建一个别名,表示功能按钮被点击时所执行的方法的类型。
image
23. 使当前的视图控制器类,遵循表格的数据源协议、表格视图代理协议、滑动表格单元格代理协议,以及动作表单协议。
image
24. 添加一个表格视图类型的变量,作为当前类的一个属性。
image
25. 创建一个邮件数据类型的数组,作为表格的数据源。
image
26. 使用刚刚创建的别名,创建一个动作类型。
image
27. 接着添加一个方法,用来设置表格的数据源。
image
28. 创建一个字符串数组常量,作为邮件的来源。
image
29. 创建第二个字符串数组常量,作为邮件的主题。
image
30. 创建第三个字符串数组常量,作为邮件的信息。
image
31. 然后通过一个循环,遍历信息数组。
image
32. 创建一个邮件数据对象。
image
33. 然后从数组中加载相应的内容,并依次设置邮件数据对象的各个属性。
image
34. 设置邮件数据对象的时间属性。
image
35. 最后将邮件数据对象,添加到表格的数据源数组中。
image
36. 添加一个方法,用来从数据源数组中,根据单元格的位置,获得相应的数据。
image
37. 根据单元格的行号,返回数据源数组中的数据。
image
38. 添加一个方法,用来响应当单元格中的删除按钮被点击时的事件。
image
39. 首先从数据源数组中,删除指定位置的数据。
image
40. 接着从表格中删除指定的单元格。
image
41. 添加另一个方法,当邮件的状态改变时调用此方法。例如邮件从未读转换成已读。
image
42. 创建两个颜色变量,作为标识邮件状态的图标的颜色。
image
43. 然后根据邮件不同的状态,设置图标不同的颜色。
image
44. 当邮件未读并且有标识时,分别设置标识图标的标识颜色和内部颜色。
image
45. 当邮件具有标识时,设置标识图标的标识颜色。
image
46. 当邮件处于已读状态时,设置标识图标的颜色为无色,即在视觉上隐藏该图标。
image
47. 最后设置邮件在其它状态下的默认颜色。
image
48. 依次设置标识图标的颜色和内部的颜色。
image
49. 添加一个方法,用来弹出一个动作表单。
image
50. 设置动作属性的值。
image
51. 然后初始化一个动作表单,并依次设置其标题、代理、取消按钮及销毁按钮的标题。
image
52. 往动作表单中依次添加三个选项按钮,并设置三个按钮的标题文字。
image
53. 在根视图中显示动作表单。
image
54. 添加一个代理方法,用来监听动作表单中的选项被点击时的事件。
image
55. 获得当前类的属性的值。
image
56. 然后根据点击的不同选项,执行不同的操作。
image
57. 接着添加一个方法,用来根据不同的标记状态,返回不同的文字内容。
image
58. 初始化一个矩形区域,作为表格的显示区域。
image
59. 然后创建一个指定显示区域的表格视图。
image
60. 设置表格对象的数据源和代理,为当前的视图控制器对象。
image
61. 将表格视图添加到根视图中。
image
62. 接着调用该方法,用来初始化表格的数据源。
image
63. 添加一个代理方法,用来设置表格的行数,在此设置表格的行数为数组的长度。
image
64. 添加一个代理方法,用来初始化或复用表格中的单元格。
image
65. 创建一个字符串常量,作为单元格的复用标识。
image
66. 然后根据复用标识,从表格中获取可以复用的单元格。
image
67. 如果没有可以复用的单元格,则初始化一个默认样式的单元格,并设置单元格的复用标识。
image
68. 设置单元格的代理对象,为当前的视图控制器对象。
image
69. 接着根据当前单元格的行号,获得数组中对应的邮件数据。
image
70. 设置单元格的邮件来源标签的文字内容。
image
71. 然后依次设置其它标签的相关内容。
image
72. 接着调用该方法,根据邮件的状态,刷新单元格的视觉效果。
image
73. 最后返回设置好的单元格对象。
image
74. 添加一个代理方法,用来设置单元格的高度为110。
image
75. 接着添加一个代理方法,设置单元格允许滑动的手势。
image
76. 然后添加一个代理方法,设置当单元格上有滑动手势时,所显示的功能按钮,以及功能按钮显示的视觉效果。
image
77. 设置功能按钮的显示方式为三维旋转的效果,共有边缘、静态、拖动、中心裁切、三维旋转等五种效果。
image
78. 设置功能按钮的索引为0。
image
79. 接着获得在当前单元格中,需要显示的邮件内容。
image
80. 首先处理当手势为从左向右滑动时的情况。
image
81. 设置在该手势下,按钮将以弹性的方式返回原来的位置。
image
82. 设置触发显示功能按钮的阈值大小。默认值为1.5。
image
83. 初始化一个颜色常量,作为功能按钮的背景颜色。
image
84. 返回一个功能按钮,并设置按钮的标题、背景颜色和交互动作。
image
85. 当该按钮被点击时,将切换当前邮件的阅读状态。
image
86. 同时刷新当前邮件所在单元格的外观状态。
image
87. 接着刷新单元格的内容视图。
image
88. 同时根据邮件的阅读状态的变化,刷新被添加按钮的标题文字。
image
89. 最后返回真,使功能按钮自动隐藏。结束按钮的点击事件。
image
90. 接着处理当单元格接收到从右至左的滑动手势时的情况。设置在该手势下,按钮将在触发时填充单元格。
image
91. 设置触发显示功能按钮的阈值大小为1.1
image
92. 设置按钮的内边距为15。
image
93. 然后初始化三个颜色常量,作为三个按钮的背景颜色。
image
94. 接着添加第一个功能按钮,并依次设置其标题、背景颜色、内间距以及交互动作。
image
95. 当该按钮被点击时,将从表格中移除按钮所在的单元格,并在数组中移除该单元格的内容。
image
96. 添加第二个功能按钮,并依次设置其标题、背景颜色、内间距以及交互动作。
image
97. 接着获得在当前单元格中,需要显示的邮件内容。
image
98. 然后更改邮件的标记状态。
image
99. 同时刷新当前邮件所在单元格的外观状态。
image
100. 接着刷新单元格的内容视图。
image
101. 添加第三个功能按钮,并依次设置其标题、背景颜色、内间距以及交互动作。
image
102. 获得当前单元格在表格中的位置。
image
103. 然后获得在当前单元格中,需要显示的邮件内容。
image
104. 接着创建一个动作表单,并拥有取消、删除和索引三个选项。
image
105. 首先处理取消选项被点击时的情况。
image
106. 接着处理删除选项被点击时的情况,此时删除当前的单元格,以及数组中的数据。
image
107. 处理索引选项被点击时的情况。
image
108. 当索引值为1时,更改邮件的阅读状态。
image
109. 然后根据更改后的阅读状态,刷新当前单元格的标识图标。
image
110. 同时刷新单元格的内容视图。
image
111. 根据邮件的阅读状态的变化,刷新被添加按钮的标题文字。
image
112. 然后以动画的方式,隐藏功能按钮。
image
113. 最后返回假,以保持功能按钮的显示状态。
image
114. 在方法的末尾,返回三个功能按钮。接着点击左上角的[编译并运行]按钮,启动模拟器预览项目。
image
115. 在左侧的圆点处按下手指,并向右侧拖动,以显示左边的功能按钮。
116. 然后点击该按钮,可以更改邮件的阅读状态。
image
117. 此时邮件标题左侧的蓝色小圆点消失了。接着在右侧的圆角上按下手指,并向左侧拖动,以显示右侧的三个功能按钮。
image
118. 点击灰色背景的按钮,将弹出一个动作表单。
image
119. 选择表单中的标记选项,将修改邮件的标记状态。
image
120. 在单元格空白位置点击,隐藏右侧的功能按钮。
image
121. 继续在右侧的圆角上按下手指,并向左侧拖动,以显示右侧的三个功能按钮。
image
122. 点击最右侧的垃圾箱按钮,将删除当前行的单元格。
image
123. 此时单元格被从表格中删除,最后点击此处的[停止]按钮,关闭模拟器,并结束本节课程。
image
-
image
本文整理自:《app开发中的神兵利器》,真正的[手把手]教学模式,用最快的速度上手iOS开发,苹果商店App Store免费下载:https://itunes.apple.com/cn/app/id1209739676,或扫描本页底部的二维码。课程配套素材下载地址:资料下载
apps8 2.png
网友评论