纯代码自定义cell的过程
2015-09-18 20:52
169 查看
两个模型类:
数据模型类 --- cell中显示的数据
frame模型类 ---
数据模型以及cell中子控件的frame及cell的高度
一个cell子类
利用MVC
在cell子类中做: (V)
三件事情分开来做:创建子控件、数据的显示、子控件frame的设定
1.
提供一个类方法快速获取cell独享
从重用队列中取出对象
如果失败,创建 alloc + initWithStyle...
2.
重写initWithStyle...
方法
创建所有的子控件,以及子控件的一次性属性配置
/************去实现frame模型*****************/
3.
添加frame模型属性,并重写setter方法显示数据
4.
重写layoutSubviews,为子控件的frame赋值
Frame模型: (M)
将数据模型封装,并且能够通过数据模型计算出对应子控件的frame
1.
设定数据模型属性
2.
添加cell中所有子控件对应的frame属性
3.
添加cell高度的属性
4.
实现数据模型属性的setter方法的重载版本
计算出所有的frame及height
控制器 (C)
1.添加模型数组,实现懒加载
什么模型?frame模型
2.实现tableView的数据源方法
组数:1
组中的行数:模型数组的长度
cell:创建一个cell,并设置frame模型
cell的高度:返回frame模型的cellHeight
常用方法
1.
根据字符串对象,计算占用的size
- (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(NSDictionary *)attributes context:(NSStringDrawingContext *)context
size:设定的宽和高的最大限制
options:NSStringDrawingUsesLineFragmentOrigin
attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:13]}
2.
拉伸图片
- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode
capInsets:拉伸范围 size/2
数据模型类 --- cell中显示的数据
frame模型类 ---
数据模型以及cell中子控件的frame及cell的高度
一个cell子类
利用MVC
在cell子类中做: (V)
三件事情分开来做:创建子控件、数据的显示、子控件frame的设定
1.
提供一个类方法快速获取cell独享
从重用队列中取出对象
如果失败,创建 alloc + initWithStyle...
2.
重写initWithStyle...
方法
创建所有的子控件,以及子控件的一次性属性配置
/************去实现frame模型*****************/
3.
添加frame模型属性,并重写setter方法显示数据
4.
重写layoutSubviews,为子控件的frame赋值
Frame模型: (M)
将数据模型封装,并且能够通过数据模型计算出对应子控件的frame
1.
设定数据模型属性
2.
添加cell中所有子控件对应的frame属性
3.
添加cell高度的属性
4.
实现数据模型属性的setter方法的重载版本
计算出所有的frame及height
控制器 (C)
1.添加模型数组,实现懒加载
什么模型?frame模型
2.实现tableView的数据源方法
组数:1
组中的行数:模型数组的长度
cell:创建一个cell,并设置frame模型
cell的高度:返回frame模型的cellHeight
常用方法
1.
根据字符串对象,计算占用的size
- (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(NSDictionary *)attributes context:(NSStringDrawingContext *)context
size:设定的宽和高的最大限制
options:NSStringDrawingUsesLineFragmentOrigin
attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:13]}
2.
拉伸图片
- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode
capInsets:拉伸范围 size/2
相关文章推荐
- 安装完Java虚拟机后,在cmd命令提示符窗口中使用DOS命令,提示“不是内部或外部命令,也不可运行的程序”的解决办法
- C++ Primer Plus(第六版)--学习杂记(第四章)
- 从零开始学java(四)--面向对象(上)
- (转载)Java NIO:NIO原理分析(二)
- Eclipse的配置与启动
- 利用metasploit攻击有ms8067漏洞的PC机过程
- 使用thinkphp的好处和缺点
- access vba 复制文件夹
- ruby on rails新项目不使用数据库,配置过程记录
- java中的接口问题
- java里的byte
- c#面向对象 基础知识(转)
- ruby on rails新项目不使用数据库,配置过程记录
- c++内部类
- Socket编程(c语言示例)
- sqlite特性 只能添加字段 不能修改字段 的解决方法 和php sqlite的管理工具 sqlbuddy
- 重学C++Primer笔记3---一开始就要有好的习惯
- (转载)Java NIO:NIO概述(一)
- C# datagrid加载不了数据
- poj1797最大生成树