自定义cell的高度
来源:互联网 发布:电子秤数据采集 编辑:程序博客网 时间:2024/05/23 01:24
1.新建一个继承自UITableViewCell的类
2.重写initWithStyle:reuseIdentifier:方法
3.提供2个模型
4.cell拥有一个frame模型(不要直接拥有数据模型)
5.重写frame模型属性的setter方法: 在这个方法中设置子控件的显示数据和frame
6.frame模型数据的初始化已经采取懒加载的方式(每一个cell对应的frame模型数据只加载一次)
demo:
// 昵称的字体
#define NameFont [UIFont systemFontOfSize:14]
// 正文的字体
#define TextFont [UIFont systemFontOfSize:15]
#import "MJStatusFrame.h"
#import "MJStatus.h"//模型
@implementation MJStatusFrame
/**
* 计算文字尺寸
*
* @param text 需要计算尺寸的文字
* @param font 文字的字体
* @param maxSize 文字的最大尺寸
*/
- (CGSize)sizeWithText:(NSString *)text font:(UIFont *)font maxSize:(CGSize)maxSize
{
NSDictionary *attrs = @{NSFontAttributeName : font};
return [text boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOriginattributes:attrs context:nil].size;
}
- (void)setStatus:(MJStatus *)status
{
_status = status;
// 子控件之间的间距
CGFloat padding =10;
// 1.头像
CGFloat iconX = padding;
CGFloat iconY = padding;
CGFloat iconW =30;
CGFloat iconH =30;
_iconF =CGRectMake(iconX, iconY, iconW, iconH);
// 2.昵称
// 文字的字体
CGSize nameSize = [selfsizeWithText:self.status.namefont:NameFontmaxSize:CGSizeMake(MAXFLOAT,MAXFLOAT)];
CGFloat nameX =CGRectGetMaxX(_iconF) + padding;
CGFloat nameY = iconY + (iconH - nameSize.height) *0.5;
_nameF =CGRectMake(nameX, nameY, nameSize.width, nameSize.height);
// 3.会员图标
CGFloat vipX =CGRectGetMaxX(_nameF) + padding;
CGFloat vipY = nameY;
CGFloat vipW =14;
CGFloat vipH =14;
_vipF =CGRectMake(vipX, vipY, vipW, vipH);
// 4.正文
CGFloat textX = iconX;
CGFloat textY =CGRectGetMaxY(_iconF) + padding;
CGSize textSize = [selfsizeWithText:self.status.textfont:TextFontmaxSize:CGSizeMake(300,MAXFLOAT)];
_textF =CGRectMake(textX, textY, textSize.width, textSize.height);
// 5.配图
if (self.status.picture) {//有配图
CGFloat pictureX = textX;
CGFloat pictureY =CGRectGetMaxY(_textF) + padding;
CGFloat pictureW =100;
CGFloat pictureH =100;
_pictureF =CGRectMake(pictureX, pictureY, pictureW, pictureH);
_cellHeight =CGRectGetMaxY(_pictureF) + padding;
} else {
_cellHeight =CGRectGetMaxY(_textF) + padding;
}
}
@end
- 自定义cell的高度
- 自定义cell的高度
- iOS 自定义cell的高度
- 自定义约束下的cell的高度
- UITableView-的cell 自定义 高度,样式
- 自定义cell的高度(新浪微博)
- Cell的自定义高度 图片 文本
- 使用autolayout自定义动态高度的cell
- 使用约束达到cell的自定义高度
- Swift TableView自定义Cell的高度
- 通过代码自定义cell (cell的高度不一致)的步骤:
- 通过代码自定义cell(cell的高度不一致)的步骤
- 通过代码自定义cell(cell的高度不一致)
- 通过代码自定义cell(cell的高度不一致)
- 通过代码自定义cell(cell的高度不一致)
- 通过代码自定义cell(cell的高度不一致)
- 通过代码自定义cell(cell的高度不一致)
- iOS代码自定义UITableView Cell(每个Cell的高度不一样)
- 01--有监督的学习
- Chrome 中的 JavaScript 断点设置和调试技巧
- 切换viewcontroller**********************
- JQuery之父: 每天都来点代码吧!
- 迭代器模式
- 自定义cell的高度
- 《BI那点儿事》Microsoft 线性回归算法
- jdk环境变量配置
- 正则表达式30分钟入门教程
- 企业门户层次
- FCKeditor For ASP.Net 文本编辑器使用
- 使用spring的多线程机制
- Flex学习笔记(七)——可拖拽(dragable/dropable)
- memoryCache fileCache