当UILabel的高度动态变化时(即sizeToFit
启用时,我试图找出UILabel的高度)。找出UILabel高度的方法是什么?当然,当我启用frame.size.height
时,值sizeToFit
显然是错误的。
感谢。
答案 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);