找出适合大小的UILabel的高度

时间:2014-06-18 06:32:39

标签: ios uilabel

当UILabel的高度动态变化时(即sizeToFit启用时,我试图找出UILabel的高度)。找出UILabel高度的方法是什么?当然,当我启用frame.size.height时,值sizeToFit显然是错误的。

感谢。

2 个答案:

答案 0 :(得分:1)

我也使用sizeToFit但是获得正确的结果尝试这可能会有所帮助。 Plz尝试必须。

 UILabel *detailsLabel = [[UILabel alloc]initWithFrame:CGRectMake(0,50,320,30)];
 detailsLabel.text = [textDic valueForKey:@"Text"];
 detailsLabel.textColor = [UIColor grayColor];
 detailsLabel.numberOfLines = 0;
 [detailsLabel sizeToFit];
 [scrollViewObj addSubview:detailsLabel];
 NSLog(@"Label Height %f",  detailsLabel.frame.size.height );

我目前的项目中的每件事情都很好。谢谢干杯......

答案 1 :(得分:1)

试试这可能对你有帮助..

-(CGSize)lblSize:(NSString *)content lblFont:(UIFont *)contectLblFont width:(int)Width
{
    CGSize maximumLabelSize;
    maximumLabelSize = CGSizeMake(Width,9999);
    NSAttributedString *attributedText =
    [[NSAttributedString alloc]
     initWithString:content
     attributes:@
     {
     NSFontAttributeName:contectLblFont
     }];
    CGRect rect = [attributedText boundingRectWithSize:(CGSize){maximumLabelSize.width, CGFLOAT_MAX}
                                               options:NSStringDrawingUsesLineFragmentOrigin
                                               context:nil];
    CGSize size = rect.size;
    return size;
}

并使用内部表视图委托

CGSize expectedLabelSize=[self lblSize:[NSString stringWithFormat:@"%@",[[loadMoreArray objectAtIndex:indexPath.row]valueForKey:@"text"]] lblFont:cell.self.lbldetail.font width:310];

    cell.self.lbldetail.frame=CGRectMake(5,cell.imgProfile.frame.size.height+cell.imgProfile.frame.origin.y+2, 300,expectedLabelSize.height+10);