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

因为时间原因,这里只是简单叙述下实现自定义的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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值