[IOS]关于设计TableView和TableViewCell之实际操作篇
2015-04-21 13:23
281 查看
因为时间原因,这里只是简单叙述下实现自定义的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文件内容的变量来重新配置每个单元格.大致完成之后的代码如下:
第五步:设置每个表格的高度,因为在storyboard上无法设计表格高度,所以需要通过tableVIewController的方法-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath来为每个Cell返回高度(其实这个方法也不是UITableViewController的方法,而是因为他自动实现了代理UITableViewDelegate才得到的方法).
假设每行的高度固定,那么这里返回一个固定值即可,如果每行的高度随每行内容变化而变化,可以参照下面这一片文档来实现
http://www.cnblogs.com/kenshincui/p/3931948.html#uiTableViewCell
第一步:既然要实现一个内容可变的动态表格,那么内容肯定得有一个来源,这个内容来源建议最好以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 cell的分割线的一些设置
- iOS 关于tableview性能优化概述
- iOS开发:代码通用性以及其规范 第二篇(猜想iOS中实现TableView内部设计思路(附代码),以类似的思想实现一个通用的进度条)
- ios 关于tableview的复用问题,避免假复用
- iOS关于TableView的moveRowAtIndexPath相关介绍
- iOS 关于tableView cell的分割线的一些设置
- iOS 代码实现自定义TableView 自定义TableViewCell
- ios 关于tableview小技巧
- 【iOS开发学习】关于在TableView里添加搜索的问题。
- IOS开发之TableView以及TableViewCell背景设置
- iOS 关于tableView 的一些记录
- iOS TableView和TableViewCell的风格
- ((ios开发学习笔记 十一))自定义TableViewCell 的方式实现自定义TableView(带源码)
- 关于iOS TableView旋转后头部空白的问题
- ios关于tableview重用机制的使用心得一
- iOS.swift 纯代码 关于如何提取TableViewCell视图作为view
- iOS疯狂详解之TableView以及TableViewCell背景设置
- iOS开发中关于没有数据时不显示tableView的分割线
- ios tableview/collectionView关于点击cell后 刷新cell