?自定义cell的步骤(每个cell的?高度不?一样,每个cell?里?面显?示的 内容也不?一样)
新建?一个继承?自UITableViewCell的?子类
2. 在initWithStyle:方法中进行?控件的初始化
1> 将有可能显?示的所有?子控件都添加到contentView中
2> 顺便设置?子控件的?一些属性(?一次性的设置:字体、?文字颜?色、
背景
3. 提供2个模型
1> ?一个是数据模型(?文字数据 + 图?片数据)
2> ?一个是frame模型(数据模型 + 所有?子控件的frame + cell
的?高度)
4. cell应该提供?一个frame模型属性
1> 将frame模型传递给cell
2> cell根据frame模型给?子控件设置frame,根据数据模型给?子控
件设置数据
3> cell根据数据模型决定显?示和隐藏哪些?子控件
5. 在tableView的代理?方法返回cell的?高度
计算文字label的尺寸方法
- (CGSize)sizeWithText:(NSString *)text font:(UIFont *)font maxW:(CGFloat)maxW
{
NSMutableDictionary *attrs = [NSMutableDictionary dictionary];
attrs[NSFontAttributeName] = font;
CGSize maxSize = CGSizeMake(maxW, MAXFLOAT);
return [text boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:attrs context:nil].size;
}
- (CGSize)sizeWithText:(NSString *)text font:(UIFont *)font
{
return [self sizeWithText:text font:font maxW:MAXFLOAT];
}