美文网首页
初步理解UITableView以及MVC(一)

初步理解UITableView以及MVC(一)

作者: 莹bei___㤫 | 来源:发表于2015-08-18 18:52 被阅读152次

首先我们来看一下这张系统设计图。

TableView典型例子-截图

可以大致看出来,每一行都是大致一样,不一样的只是图片的样式以及图片旁边的介绍文字。

每一行的样式大致相同,只是数据不一样的情况下,竖直方向可以滚动的情况下,我们可以使用UITableView来实现。

那么我们就来简单的使用一下UITableView。后面的文章会完善代码质量。

TableView必要代理-截图

此文章只讲一下简单的用法。图片有点小 我就再用文字解说一下:

numberOfSectionsInTableView:(UITableView*)tableView

告诉编译器 这个tableView有多少组

tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section

告诉编译器 这个tableView在section组 中有多少行

tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath

告诉编译器 “第indexPath.section组”  “第indexPath.row行”的应该显示什么样

这样就可以添加我们想要的数据了.

MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器),可以用简单的话说就是 视图,业务逻辑,数据是分开的,单独改变哪个,都不影响。

数据源类-截图 数据加载-截图

我用的方法就是初步了解的懒加载方法,就是声明了一个NSArray 里面是tableViewData的数据集, 把tableView的数据代理相应的地方换成对应的groupDatas的值,比如:

数组代替数据-截图

这样的话,我们在改变数据的话,不需要改变我们界面的响应代码,只需要改变数据加载的地方,groupDatas的加载。

head以及footer-截图

以上是 tableView中group的样式,但是tableVIew的样式中还有一种样式为UITableViewStylePlain,这个样式,在有footer 尾部描述的时候是这个样子的:

UITableViewStylePlain样式-截图

看左上角会有重叠,去掉状态栏的代码为:

隐藏状态栏代码-截图

主要UITableViewStylePlain和UITableViewStyleGrouped的样式的区别还有一个细节,细节为数据多的时候,UITableViewStylePlain的head不会跟UITableViewStyleGrouped的head一样向上滚动,只能是下一个head换掉这个head,表现为:

UITableViewStylePlainde的head-截图

从图中可以看到,小学生下面的公主妹已经向上滚动,而小学生没有,依然是在顶部,在TableViewStylePlain中的footer也是一样的,这个footer的替换也是在下一个的footer之前会一直在屏幕中显示,知道一下个的footer顶掉这个footer,跟head样式一样。

还可以根据:

系统的tableView-截图

可以看到,tableView有两个委托方法,一个是数据源的委托,一个是tableView的委托,那我们看一下,tableView的委托都有什么东西:其中的一部分,

tableView代理部分方法-截图

截的这个图,名字跟意思都很明了,分别是改变每行的高度,head以及footer的高度,还有很多方法,我没有截图,在后面,如果接触到,有感悟,我会写上。。

这样的话,是我对于MVC思想以及UITableView的基本了解。以后会有几片连续的文章会对TabelView的逐渐进行了解。

相关文章

网友评论

      本文标题:初步理解UITableView以及MVC(一)

      本文链接:https://www.haomeiwen.com/subject/qefgqttx.html