Cell自适应高度

来源:互联网 发布:sql union 不同字段 编辑:程序博客网 时间:2024/05/22 14:25
  // 1.设置内容最大显示高度 其中宽度是跟contentLabel宽度一样
    
    CGSize size = CGSizeMake(300, 1000);
    
    // 2.NSStringDrawingUsesLineFragmentOrigin 按行计算内容高度
    // 3.创建存放字体的字典,字体大小要与contentlabel字体大小一致
    
    NSDictionary *dic = [NSDictionary dictionaryWithObject:[UIFont systemFontOfSize:15] forKey:NSFontAttributeName];// key处固定
    

    CGRect frame = [text boundingRectWithSize:size options:NSStringDrawingUsesLineFragmentOrigin attributes:dic context:nil];


+(CGFloat)heightForContent:(NSString *)text
{
    // 1.设置内容最大显示高度 其中宽度是跟contentLabel宽度一样
    
    CGSize size = CGSizeMake(300, 1000);
    
    // 2.NSStringDrawingUsesLineFragmentOrigin 按行计算内容高度
    // 3.创建存放字体的字典,字体大小要与contentlabel字体大小一致
    
    NSDictionary *dic = [NSDictionary dictionaryWithObject:[UIFont systemFontOfSize:15] forKey:NSFontAttributeName];// key处固定
    
    CGRect frame = [text boundingRectWithSize:size options:NSStringDrawingUsesLineFragmentOrigin attributes:dic context:nil];
    return frame.size.height;
    
}


图片

 [super layoutSubviews];
    CGFloat picHeight = self.MyViewImage.image.size.height * self.contentView.frame.size.width / self.MyViewImage.image.size.width;
    
    NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:[UIFont systemFontOfSize:14],NSFontAttributeName, nil];
    CGRect rect = [self.MyLabel.text  boundingRectWithSize:CGSizeMake(375, 400) options:NSStringDrawingUsesLineFragmentOrigin attributes:dic context:nil];
    self.MyViewImage.frame = CGRectMake(0, 0, self.contentView.frame.size.width, picHeight);
    self.MyLabel.frame = CGRectMake(0, picHeight, self.contentView.frame.size.width, rect.size.height);

0 0
原创粉丝点击