码迷,mamicode.com
首页 > 移动开发 > 详细

iOS自动获取Lable的高度

时间:2014-09-10 14:16:40      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:ios 自动获取lable的高度

//定义宏:

#define kFontSize                       14

#define kPhotoCell_Width                300

#define kPhotoCell_MarginBetween        3

#define kPhotoCell_TitleLabel_Height       25

//方法:

+ (CGFloat)heightForRowWithModel:(PhotoInfo *)photoInfo

{

    //1.图片的高度

    //让图片等比例缩放

    //(1)获取图片

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

    //(2)计算图片的高度

    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

{

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

    CGSize size = image.size;

    //(2)求出缩放比例

    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:(NSStringDrawingUsesFontLeading | NSStringDrawingUsesLineFragmentOrigin) attributes:attrbute context:nil].size.height;

}

iOS自动获取Lable的高度

标签:ios 自动获取lable的高度

原文地址:http://blog.csdn.net/mhtios/article/details/39179929

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!