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

原创 2015年11月27日 23:55:07

表视图是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设计模式方面的内容。


版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

《iOS开发指南:从零基础到App Store上架》读书笔记(二)

P230 NSLayoutManager、NSTextContainer、NSTextStorage之间究竟是什么关系呢?NSLayoutManager对象从NSTextStorage对象中取得文本内...

《iOS开发指南:从零基础到App Store上架》读书笔记(一)

Page 9讲到了storyboard,使用Xcode 6.3的你会感到困惑,因为storyboard中的View Controller不再是长方形的,而是正方形的,这是因为Size Classes,...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

IOS开发指南读书笔记4(IOS API分类)

IOS开发指南读书笔记4(IOS API分类)  1、IOS 体系架构 2、Cocoa Touch层 3、Media层 4、Core Services层   ...

IOS开发指南读书笔记1(Xcode的基本使用)

IOS开发指南读书笔记1(Xcode的基本使用) 1、用Xcode创建工程 Product Name:工程名字 Organization Name:组织名字 Company Identifier:...

iOS开发指南 笔记

P225iPad?iPhone????? UIpopoverController?UISplitViewController?iPad???????? UIPopiverController?????...

IOS开发指南读书笔记11(IOS数据持久层的建立3)

IOS开发指南读书笔记11(IOS数据持久层的建立3) 基于SQLite的数据持久的实现 建立SQLite数据管理 //sqlite数据管理 @interface SQLi...

iOS ipa上传到App Store

方法1xcode中,选择Product —> Archive 进行打包。 打包完成后,就可以点击上传了如下图: ,点击Upload to App Store,,然后就是等待,等待,在等待上传喽!方法...

iOS知识小集 第一期(2015.05.10)

http://southpeak.github.io/blog/2015/05/10/ioszhi-shi-xiao-ji-di-%5B%3F%5D-qi-2015-dot-05-dot-10/ ...

IOS开发-TableView表视图基础

表视图在IOS中的应用非常广泛,常用于展示显示数据列表。 在工具组中包含了Table View 和Table View Cell 每个表示图都是UITableView的一个实例,每...

4 个月学习 iOS 开发的经验 (0基础到上架 App Store)

文章开头先说下上架的这款 App 吧,赶在春节前收到了 Apple 的审核通过邮件,当时还是挺高兴的,算是对自己4个月学习的肯定。开发这款 App 原因很简单,只是因为自己经常忘记下雨拿伞。期间 UI...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)