Iphone 为什么每个UITableViewCell的填充不同(使用动态高度)

Iphone 为什么每个UITableViewCell的填充不同(使用动态高度),iphone,dynamic,uitableview,height,padding,Iphone,Dynamic,Uitableview,Height,Padding,我正在使用动态高度设置UITableViewCell,以很好地适应所有内容。我在heightForRowAtIndexPath方法中使用以下代码: NSString *text = [[gigItems objectAtIndex:0] objectForKey: @"Notes"]; CGSize textSize = [text sizeWithFont:[UIFont fontWithName:@"Helvetica" size: 14.0] constrainedToSize:CGSiz

我正在使用动态高度设置UITableViewCell,以很好地适应所有内容。我在heightForRowAtIndexPath方法中使用以下代码:

NSString *text = [[gigItems objectAtIndex:0] objectForKey: @"Notes"];
CGSize textSize = [text sizeWithFont:[UIFont fontWithName:@"Helvetica" size: 14.0] constrainedToSize:CGSizeMake(280 - PADDING_NOTES * 3, 1000.0f)];

return textSize.height + PADDING_NOTES * 3;
在cellForRowAtIndexPath中,我使用相同的设置设置文本:

[cell.textLabel setText:[[gigItems objectAtIndex: gigItemIndex] objectForKey: @"Notes"]];
[cell.textLabel setLineBreakMode:UILineBreakModeWordWrap];
[cell.textLabel setNumberOfLines:0];
[cell.textLabel setFont:[UIFont fontWithName:@"Helvetica" size: 14.0]];
乍一看,这似乎很好,但当我仔细看时,文本有时真的很接近边缘,或者有太多的填充。我确保宽度(280,在constrainedToSize:CGSizeMake中,在heightForRowAtIndexPath方法中),字体、字体大小和其他在heightForRowAtIndexPath方法和cellForRowAtIndexPath方法中是相同的

什么可能导致这种行为

这是一个屏幕截图。似乎只要音符是两行,它看起来就对了。嗯,有时候是1,有时候是3,4,或者20


不要将numberOfLines设置为零,试试标签的高度除以字体的线条高度,这样就可以了。我不确定我是否在跟踪你。我是否应该将numberOfLines设置为将标签高度除以字体线宽所得的值?如何确定默认线宽?
UIFont*font=[UIFont-fontWithName:@“Helvetica”大小:14.0];[cell.textlab setNumberOfLines:cell.textlab.frame.size.height/font.lineHeight]谢谢你的提示,但它不会改变任何事情。看起来一模一样。。