iOS 6和iOS 7中自定义UItableViewCell中的UIlabel高度问题

时间:2014-04-01 08:11:51

标签: ios7 uitableview ios6 uilabel

我在自定义表格单元格中显示不同的项目。当我尝试显示多行uilabel文本。它只显示单行。即使我计算标签高度

我也尝试在计算后用新的高度设置新框架。

我的代码如下:

+(CGRect )getlabelHeight:(CGRect)frame withFontName:(NSString *)font andFontSize:(float)fontSize andText:(NSString *)text

{

CGSize constrainedSize = CGSizeMake(frame.size.width,9999);

NSDictionary *attributesDictionary = [NSDictionary dictionaryWithObjectsAndKeys:
                                      [UIFont fontWithName:font size:fontSize], NSFontAttributeName,
                                      nil];

NSMutableAttributedString *string = [[NSMutableAttributedString alloc] initWithString:text attributes:attributesDictionary];

CGRect requiredHeight = [string boundingRectWithSize:constrainedSize options:NSStringDrawingUsesLineFragmentOrigin context:nil];

if (requiredHeight.size.width > constrainedSize.width) {
    requiredHeight = CGRectMake(0,0, constrainedSize.width, requiredHeight.size.height);
}
CGRect newFrame = frame;
newFrame.size.height = requiredHeight.size.height;
frame = newFrame;
return frame;

}

我的tabelview方法如下:

    CGRect descFrame=[Utility getlabelHeight:CGRectMake(65,35+titleFrame.size.height, 250, 20) withFontName:appFont andFontSize:15 andText:[[allComments objectAtIndex:indexPath.row]valueForKey:@"comment"]];
NSLog(@"%@ \n %f",[[allComments objectAtIndex:indexPath.row]valueForKey:@"comment"],descFrame.size.height);

[cell.title setFont:[UIFont fontWithName:appFont size:15]];
[cell.title setText:[[allComments objectAtIndex:indexPath.row]valueForKey:@"comment"]];
[cell.title setLineBreakMode:NSLineBreakByWordWrapping];
[cell.title setNumberOfLines:0];
[cell.title setFrame:descFrame];
[cell.title setTextColor:[UIColor blackColor]];

请帮助我!! 1我被搞砸了......

谢谢你!!!

0 个答案:

没有答案