我有一个显示不同文本的表格,因此我需要相应地调整单元格高度。我使用委托方法:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
{
// I ask for my content string and then I want to adjust the cell accordingly:
CGSize maximumSize = CGSizeMake(defaultCell.textLabel.frame.size.width, CGFLOAT_MAX);
GSize neededSize = [contentString sizeWithFont:defaultCell.textLabel.font constrainedToSize:maximumSize lineBreakMode:defaultCell.textLabel.lineBreakMode];
CGFloat cellHeight = neededSize.height +15;
return cellHeight;
默认单元格是我的故事板原型单元格。我在 viewDidAppear 委托方法中对其进行了初始化,因此我可以轻松访问我的原型 uitableviewcell,这样我只需要更改故事板中的字体之类的东西。
我遇到的问题是函数 sizeWithFont: constrainedToSize: lineBreakMode: 没有给我准确的答案。如果下一行只有几个非常短的单词,则会导致一行太低。
有没有人知道为什么会这样以及如何避免它?