我有一个UITableView,其中每行可以有一个标签,从无线到任意数量的线(实际上是3-4)。我希望根据UILabelView内容扩展行。
到目前为止,我有这个:
- (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
CGFloat height = 60.0;
UIFont *font = [UIFont fontWithName:@"Helvetica-BoldOblique" size:10.0];
NSString *text = reminder.notes; //the text that will be in the UiLabelView
CGFloat notesHeight = [text sizeWithFont:font
constrainedToSize:CGSizeMake(250.0, 4000.0)
lineBreakMode:UILineBreakModeTailTruncation].height;
height += notesHeight;
return height;
}
我仍然得到了棘手的结果。我能做些什么来实现我的目标?
谢谢
答案 0 :(得分:1)
您正在使用UILineBreakModeTailTruncation
作为lineBreakMode,它将始终生成一行,然后sizeWithFont:constrainedToSize:lineBreakMode:
将返回该单行所需的大小。
请尝试UILineBreakModeWordWrap
。
修改:我希望您已将numberOfLines
的{{1}}属性设置为UILabel
(零),以便您的标签可以绘制多个线。