5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程]
1. 在欢迎窗口右侧的历史项目列表中,双击打开之前创建的单视图项目模板。
![5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程] 5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程]](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzkxMC9jODAyYTY3MTllMzM3ZjA0N2ViZTVkYzQwYTFiMjI3Ni5wbmc=)
2. 本节课将为您演示,如何自定义单元格的附件图标。首先在一个空白项目中,打开视图控制器的代码文件。
![5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程] 5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程]](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzIzNS9mM2E1NDQ2OWIwZmQ5OGM5ZjhlMDE3YzVlYWI0OGJlMy5wbmc=)
3. 接着开始编写代码,实现这项功能。
![5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程] 5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程]](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzk2LzUyOTZkZDU4MjJhODJjM2FkNTQyZjEwZThlMDc1MzI4LnBuZw==)
4. 首先添加两个代理协议。一个是表格视图的数据源协议,另一个是表格视图的代理协议。
![5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程] 5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程]](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzE5Ni8yMmNiNzk1OWIzYTkyNGMxODlkZTlkZjZhNDc3YjMxYy5wbmc=)
5. 创建一个位置在(0, 40),尺寸为(320, 420)的显示区域。
![5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程] 5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程]](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzMyLzUyYzk0MGY5NjAyYjdiYzg5MmYyMzNkMmQyOTdiMjM4LnBuZw==)
6. 初始化一个表格视图,并设置其位置和尺寸信息。
![5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程] 5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程]](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzEzMS85NDE0ZTczZjU3ZjI5NmU0NmZlNzAxYTIwYTAzMjY4My5wbmc=)
7. 设置表格视图的代理,为当前的视图控制器类。
![5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程] 5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程]](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzk2Ni9mOTJkOGE3MWY3YTkwMDIwZjQ0NDMzMTQyOTVjZDczZS5wbmc=)
8. 设置表格视图的数据源,为当前的视图控制器类。
![5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程] 5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程]](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzY0MS8zMjJiNWEzYjU1OGQ0NDE5MDk0NjczNzQ3NzRhNzBiOS5wbmc=)
9. 然后将表格视图,添加到当前视图控制器的根视图中。
![5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程] 5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程]](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzEzNy8xNzY3MzRkMjUyNmEzMTA0OGVkN2E3MzAwMDgxNmNmOS5wbmc=)
10. 添加一个代理方法,用来设置表格视图,拥有7行单元格。
![5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程] 5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程]](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzE5Mi8wMDdiMTY3ZmNmMjVlZWNmYTg5ZWQwYmZmNWU5MjhkMC5wbmc=)
11. 添加一个代理方法,用来初始化或复用表格视图中的单元格。
![5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程] 5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程]](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzkvMzE5ODQ3NmY5NGE2YWNhMzEyZWRlNTBkYjI4NWJkOTEucG5n)
12. 创建一个字符串,作为单元格的复用标识符。
![5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程] 5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程]](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzEyNy9kNDJjN2QwMzU5ZmU5NmJmODgyYzVjZDBiZGIzYzNlNy5wbmc=)
13. 单元格的标识符,可以看作是一种复用机制。此方法可以从,所有已经开辟内存的单元格里面,选择一个具有同样标识符的、空闲的单元格。
![5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程] 5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程]](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzI2OS85NDgzNmI4M2Q2ZThiYzg5YmI2NTZlODFhOWU2NjFkNS5wbmc=)
14. 如果在可重用单元格队列中,没有可以重复使用的单元格,则创建新的单元格。新的单元格具有系统默认的单元格样式,并拥有一个复用标识符。
![5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程] 5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程]](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzM2NS8wMmU2MmI3ZjA4MGIyYjRiMDkwNTZiZWZjMzI0MjBhZC5wbmc=)
15. 获取当前单元格,在段落中的行数。
![5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程] 5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程]](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzY5OC8yMjUyNWQ1MjM3ZTRlMjUzMjYxODZmNWFmYzRiNjExMi5wbmc=)
16. 根据当前单元格的行数,生成一个序列化的字符串,作为当前单元格的标题文字。
![5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程] 5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程]](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzE0Mi84MjIwOTllZTk5YmU5ZDBmN2Q1ZWQxZmI1OTE1MGUyZS5wbmc=)
17. 然后返回设置好的单元格对象。
![5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程] 5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程]](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzE4MS8xMmVhZjBmZmRjYzUzOWY0MTlkNTA0ZTUwOTQ2YmNmZC5wbmc=)
18. 添加一个代理方法,用来响应单元格的点击事件。
![5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程] 5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程]](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzI0Ni81MmEyYzU2YWI4ODgyNWNkMGU5YWNiY2Y4N2I0NWQyZS5wbmc=)
19. 获取表格中被点击的单元格。
![5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程] 5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程]](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzQ3OC8xMDNkZDg4Y2Y2MWE5Njk3YTIzYjhiMmI5YmI2MjdjNi5wbmc=)
20. 如果被点击的单元格,没有显示附加图标,则显示复选标记图标,表示当前单元格处于选中状态。
![5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程] 5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程]](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzg5Ni80NWViZWUzNTgwNWMyYWZiNDg5YWI4OGY1YmZkMTc1OC5wbmc=)
21. 如果被点击的单元格,已经存在附加图标,则隐藏附加图标,表示当前单元格处于非选中状态。然后点击[编译并运行]按钮,启动模拟器预览项目。
![5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程] 5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程]](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzQ0NS9hMDNkMDEwOTU5YTVlMjE2NDViNTAzZGJmYjQwZWM2ZC5wbmc=)
22. 在弹出的模拟器中,点击表格任一行,并留意行尾附加图标的变化。
![5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程] 5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程]](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzQzNy9mNGE4YzRiM2Y0MzNlYmIxNWNmMjc5YjRmOTA1Njg3ZC5wbmc=)
23. 点击其它表格行,观察附加图标的变化。
![5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程] 5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程]](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzk2OS81M2E4MTM3MGM3YjZmNmZjNzVkZmY1NTY3YzBjZjk4OS5wbmc=)
24. 再次点击同一行单元格,将取消附加图标的显示。
![5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程] 5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程]](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzk0My8yOThlODdmZWY4MTVjNTIyYTU1MDE4Y2UzYzhjM2U5Zi5wbmc=)
![5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程] 5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程]](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzQyLzZkZDM4ODU2M2UyMGUyYTZmZjE3NGM1ZTM3YjEwM2JhLnBuZw==)
本文整理自:《互动教程 for Xcode9 & Swift4》,真正的[手把手]教学模式,用最快的速度上手iOS开发,苹果商店App Store免费下载:https://itunes.apple.com/cn/app/id1063100471,或扫描本页底部的二维码。课程配套素材下载地址:资料下载
2. 本节课将为您演示,如何自定义单元格的附件图标。首先在一个空白项目中,打开视图控制器的代码文件。
3. 接着开始编写代码,实现这项功能。
4. 首先添加两个代理协议。一个是表格视图的数据源协议,另一个是表格视图的代理协议。
5. 创建一个位置在(0, 40),尺寸为(320, 420)的显示区域。
6. 初始化一个表格视图,并设置其位置和尺寸信息。
7. 设置表格视图的代理,为当前的视图控制器类。
8. 设置表格视图的数据源,为当前的视图控制器类。
9. 然后将表格视图,添加到当前视图控制器的根视图中。
10. 添加一个代理方法,用来设置表格视图,拥有7行单元格。
11. 添加一个代理方法,用来初始化或复用表格视图中的单元格。
12. 创建一个字符串,作为单元格的复用标识符。
13. 单元格的标识符,可以看作是一种复用机制。此方法可以从,所有已经开辟内存的单元格里面,选择一个具有同样标识符的、空闲的单元格。
14. 如果在可重用单元格队列中,没有可以重复使用的单元格,则创建新的单元格。新的单元格具有系统默认的单元格样式,并拥有一个复用标识符。
15. 获取当前单元格,在段落中的行数。
16. 根据当前单元格的行数,生成一个序列化的字符串,作为当前单元格的标题文字。
17. 然后返回设置好的单元格对象。
18. 添加一个代理方法,用来响应单元格的点击事件。
19. 获取表格中被点击的单元格。
20. 如果被点击的单元格,没有显示附加图标,则显示复选标记图标,表示当前单元格处于选中状态。
21. 如果被点击的单元格,已经存在附加图标,则隐藏附加图标,表示当前单元格处于非选中状态。然后点击[编译并运行]按钮,启动模拟器预览项目。
22. 在弹出的模拟器中,点击表格任一行,并留意行尾附加图标的变化。
23. 点击其它表格行,观察附加图标的变化。
24. 再次点击同一行单元格,将取消附加图标的显示。
本文整理自:《互动教程 for Xcode9 & Swift4》,真正的[手把手]教学模式,用最快的速度上手iOS开发,苹果商店App Store免费下载:https://itunes.apple.com/cn/app/id1063100471,或扫描本页底部的二维码。课程配套素材下载地址:资料下载