0

您好我正在尝试根据 textlabel 和 detailtextlabel 动态更改我的行高。

以下是我的代码:

 NSString *title = [NSString stringWithFormat:@"%@%@%@",_note.committeeStaffName,@"  -  ",_note.dateCreated];
    cell.textLabel.text = title;
    cell.detailTextLabel.text = _note.note;

我正在尝试根据 textLabel 和 detailTextLabel 调整表格的行高。textLabel 不超过一行。detailTextLabel 包含不同长度的大文本。我已经阅读了委托方法 heightForRowAtIndexPath 的几个示例,但没有一个明确说明在方法 heightForRowAtIndexPath 中必须做什么以及应该在 cellForRowAtIndexPath 中执行哪些代码。任何人都可以清楚地解释一下heightForRowAtIndexPath和cellForRowAtIndexPath这两种方法应该使用什么代码来根据包括textLabel和detailTextLabel的内容来调整表格行的高度。

4

1 回答 1

0

我试图给你解决问题的想法。希望它会帮助你。

 -(CGFloat)getLabelHeightForIndex:(NSString*)strTemplate{
CGSize maximumSize = CGSizeMake(tblView.frame.size.width-50, 20000);
NSString* result  = [strTemplate stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
strTemplate = result;
CGSize labelHeighSize = [strTemplate sizeWithFont: [UIFont fontWithName:@"HelveticaNeue-Light" size:14.0] constrainedToSize:maximumSize lineBreakMode:NSLineBreakByWordWrapping];
return labelHeighSize.height;


您应该使用上述方法来获取任何一个标签的高度,即 textLabel 或 defaulttestLabel 然后在 tableView 单元格的其他中心管理另一个视图。

于 2013-11-12T13:14:05.913 回答