[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
- [IOS]关于设计TableView和TableViewCell之实际操作篇
- [IOS]关于设计TableView和TableViewCell之基础篇
- iOS TableView和TableViewCell的风格
- IOS开发之TableView以及TableViewCell背景设置
- iOS疯狂详解之TableView以及TableViewCell背景设置
- iOS 代码实现自定义TableView 自定义TableViewCell
- IOS之TableViewCell重用
- TableView界面传值和TableViewCell使用
- ios拼图游戏(五)之嵌套TableView和水平TableView
- iOS之TableViewCell加载动画
- [iOS]自定义 TableViewCell 实现圆角/渐变色 TableView
- IOS——TableView以及TableViewCell方法总结
- iOS学习- 11 TableView 显示TableViewCell 显示 - Todo App
- TableView与TableViewCell
- iOS关于tableViewCell的视图层次
- iOS之tableView优化
- iOS笔记之tableView
- IOS中关于TableView必须实现的步骤和方法
- java解压Apk文件
- 第六届蓝桥杯省赛试题--垒骰子 以矩阵的方法实现 解题报告
- android listview 返回顶部(问题)
- BZOJ 4002~4007 JLOI2015 代码
- 详解DHCP工作方法,并用wireshark对DHCP四个数据包抓包分析
- [IOS]关于设计TableView和TableViewCell之实际操作篇
- oracle常用数据类型说明
- 是谁在阻碍通信流量费用大幅下降?
- 【计算机网络系列(三)】TCP/IP 层次模型和相关协议
- Log4j、Log4j 2、Logback、SFL4J、JUL、JCL的比较
- 医疗保健研究报告-生物大数据的时代(附下载)
- 宏Q_OBJECT
- mysql 查询10分钟以内的数据
- 追求自由的穷游网---十年一剑