首先我们来看一下这张系统设计图。
可以大致看出来,每一行都是大致一样,不一样的只是图片的样式以及图片旁边的介绍文字。
每一行的样式大致相同,只是数据不一样的情况下,竖直方向可以滚动的情况下,我们可以使用UITableView来实现。
那么我们就来简单的使用一下UITableView。后面的文章会完善代码质量。
此文章只讲一下简单的用法。图片有点小 我就再用文字解说一下:
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的加载。
以上是 tableView中group的样式,但是tableVIew的样式中还有一种样式为UITableViewStylePlain,这个样式,在有footer 尾部描述的时候是这个样子的:
看左上角会有重叠,去掉状态栏的代码为:
主要UITableViewStylePlain和UITableViewStyleGrouped的样式的区别还有一个细节,细节为数据多的时候,UITableViewStylePlain的head不会跟UITableViewStyleGrouped的head一样向上滚动,只能是下一个head换掉这个head,表现为:
从图中可以看到,小学生下面的公主妹已经向上滚动,而小学生没有,依然是在顶部,在TableViewStylePlain中的footer也是一样的,这个footer的替换也是在下一个的footer之前会一直在屏幕中显示,知道一下个的footer顶掉这个footer,跟head样式一样。
还可以根据:
可以看到,tableView有两个委托方法,一个是数据源的委托,一个是tableView的委托,那我们看一下,tableView的委托都有什么东西:其中的一部分,
截的这个图,名字跟意思都很明了,分别是改变每行的高度,head以及footer的高度,还有很多方法,我没有截图,在后面,如果接触到,有感悟,我会写上。。
这样的话,是我对于MVC思想以及UITableView的基本了解。以后会有几片连续的文章会对TabelView的逐渐进行了解。