3-读书笔记----iOS开发指南:从零基础到App Store上架--iOS表视图

表视图是iOS开发中使用最频繁的视图。

在表视图中,分节、分组和索引等功能使我们所展示的数据看起来更规整、更有条理。

了解表视图中的一些概念、相关类、表视图的分类、单元格的组成和样式以及表视图的两个协议——UITableViewDelegate委托和UITableViewDataSource数据源。


概念

表头视图(table header view)。表视图最上边的视图,用于展示表视图的信息,例如表视图刷新信息,

如图4-2所示。

表脚视图(table footer view)。表视图最下边的视图,用于展示表视图的信息,例如表视图分页时显示“更

多”等信息,如图4-2所示。

单元格(cell)。它是组成表视图每一行的单位视图。

(section)。它由多个单元格组成,有节头(section header)和节脚(section footer)。节头。节的头,描述节的信息,如图4-3所示,文字左对齐。

节脚。节的脚,也可描述节的信息和声明,如图4-3所示,文字居中对齐。


iOS中的表视图主要分为普通表视图分组表视图

普通表视图。主要用于动态表,而动态表一般在单元格数目未知的情况下使用。

分组表视图。一般用于静态表,用来进行界面布局,它会将表分成很多“孤岛”,这个“孤岛”由一些类 似的单元格组成。静态表一般用于控件的界面布局


此外,在表视图中还可以带有索引列、选择列和搜索栏等


单元格的组成和样式

单元格由图标、标题和扩展视图等组成。


数据源协议与委托协议

表视图UITableView 的数据源协议是UITableViewDataSource,委托协议是UITableViewDelegate

UITableViewDataSource协 议中的主要方法如表所示,其中必须要实现的方法有tableView:numberOfRowsInSection:tableView: cellForRowAtIndexPath:



UITableViewDelegate协议主要用来设定表视图中节头和节脚的标题,并响应一些动作事件




自定义单元格

添加搜索栏


添加索引

索引的正确使用原则如下所示。

索引标题不能与显示的标题完全一样。如果与要显示的标题一致,索引就变得毫无意义,如图4-37所示。 

索引标题应具有代表性,能代表一个数据集合。如图4-38所示,索引标题A下有一系列符合要求的数据。 

如果采用了索引列表视图,一般情况下就不再使用扩展视图。索引列表视图与扩展视图并存的时候,两者

   会存在冲突。当点击索引标题时,很容易点击到扩展视图。


在静态表中可以不实现数据源和委托协议的方法。


修改单元格


删除和插入单元格,表视图一旦进入删除和插入状态,单元格的左边就会出现一个编辑控件

移动单元格,在表视图中,单元格的顺序可以重新排列,书中将其称为移动单元格


表视图 UI设计模式

表视图中的两个UI设计模式——分页模式下拉刷新(Pull-to-Refresh)模式,这两种模式已经成为移动平台开发的标准.

分页模式是先请求少量数据,根据触发方式的不同,请求分为主动请求和被动请求。


主动请求模式

自动发出的,并且一般在表视图的表脚会出现活动指示器,请求结束后活动指示器会隐藏起来。


被动请求模式

表视图的表脚中会显示出一个响应点击事件的控件。这个控件一般是一个按钮,按钮标签一般会设为更多。当点击更多按钮时,应用会向服务器请求,请求结束后,“更多按钮会隐藏起来。

下拉刷新是重新刷新表视图或列表,以便重新加载数据,这种模式广泛用于移动平台。下拉刷新与分页相反,当翻动屏幕到顶部时,再往下拉屏幕,程序就开始重新请求数据,此时表视图的表头部分会出现活动指示器,请求结束后表视图表头消失。


小结

在本章中,首先我们对表视图有了整体的认识,了解了表视图的组成、表视图类的构成、表视图的分类以及表视图的两个重要协议(委托协议和数据源协议),接着讨论了如何实现简单表视图和分节表视图,以及表视图中索引、搜索栏、分组的用法,然后学习了如何对表视图单元格进行删除、插入、移动等操作,最后向大家介绍了表视图UI设计模式方面的内容。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值