[IOS]关于设计TableView和TableViewCell之实际操作篇

来源:互联网 发布:淘宝卖家借贷在哪里 编辑:程序博客网 时间:2024/05/12 20:19

因为时间原因,这里只是简单叙述下实现自定义的TableView的过程.

第一步:既然要实现一个内容可变的动态表格,那么内容肯定得有一个来源,这个内容来源建议最好以plist作为存储,当plist文件内容变化了之后,比如现在最常用的就是向服务器通信,下载下最新的内容然后更新至该plist文件,相应地,表格内容也跟着变化了,所以在应用程序沙盒中固定一个plist文件(可以在Document中也可以在caches中),接着在TableView对应的Contorller类中也定义一个变量(也可以定义成属性类型)作为存储plist文件中的内容,在初始话过程中,将plist文件的内容读出来放入该变量.

第二步:在storyboard上设计单元格,比如自己添加imageView和TextLabView以及排版,排好之后,设置一个Identifier用于cell能复用.

第三步:创建自定义的UITableViewCell的子类,然后将第二步中涉及好的cell的Insepect的类改成该自定义类,然后将该cell上的一些subview全部关联到该自定义类上供后续设计.

第四步:回到TableView的controller类中重写(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath方法,其中便可根据该controller类中存放plist文件内容的变量来重新配置每个单元格.大致完成之后的代码如下:

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{    //假设在storyboard上定义的cell的identifier为"cellIdentifier",同时自定义的UITableViewCell子类名为MyUITableViewCel(MyUITableViewCel*) cell=[tableView dequeueReusableCellWithIdentifier:cellIdentifier];    //在此根据存储plist文件内容的变量plistContents配置cell.......    return cell;}

第五步:设置每个表格的高度,因为在storyboard上无法设计表格高度,所以需要通过tableVIewController的方法-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath来为每个Cell返回高度(其实这个方法也不是UITableViewController的方法,而是因为他自动实现了代理UITableViewDelegate才得到的方法).

假设每行的高度固定,那么这里返回一个固定值即可,如果每行的高度随每行内容变化而变化,可以参照下面这一片文档来实现

http://www.cnblogs.com/kenshincui/p/3931948.html#uiTableViewCell

0 0
原创粉丝点击