动态计算cell的高度

网址:http://blog.csdn.net/djl4104804/article/details/39472243

//动态设置cell的高度

+ (CGFloat)heightForRowWithModel:(PhotoInfo *)photoInfo

{

//1.图片的高度

//让图片等比例缩放

//(1)获取图片

UIImage *image = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"ZZ" ofType:@"png"]];

CGFloat imageHeight = [self heightForImage:image];

//2.文本的高度

CGFloat textHeight = [self heightForText:photoInfo.introduction];

//3.返回cell 的总高度

return kPhotoCell_TitleLabel_Height + imageHeight + textHeight + 4 * kPhotoCell_MarginBetween;

}

//单独计算图片的高度

+ (CGFloat)heightForImage:(UIImage *)image

{

//(2)获取图片的大小

CGSize size = image.size;

//(3)求出缩放比例

CGFloat scale = kPhotoCell_Width / size.width;

CGFloat imageHeight = size.height * scale;

return imageHeight;

}

//单独计算文本的高度

+ (CGFloat)heightForText:(NSString *)text

{

//设置计算文本时字体的大小,以什么标准来计算

NSDictionary *attrbute = @{NSFontAttributeName:[UIFont systemFontOfSize:kFontSize]};

return [text boundingRectWithSize:CGSizeMake(kPhotoCell_Width, 1000) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:attrbute context:nil].size.height;

}

你可能感兴趣的:(动态计算cell的高度)