基于文本标签和细节文本标签的行高 - 目标c

时间:2013-03-06 23:51:06

标签: objective-c height tablerow

您好我正在尝试根据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的内容来调整表行高度的代码。

1 个答案:

答案 0 :(得分: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;

}
你应该使用上面的方法来获取任何一个Label的高度,即textLabel或defaulttestLabel,然后在tableView单元格中的另一个中心管理另一个视图。