我表格中的每个单元格都有一个标签,最多有三行,所以单元格高度取决于标签的高度,我知道返回特定单元格高度的委托方法(NSIndexPath),但我需要得到实际的单元格,以确定高度,如果我调用cellForRow:atIndexPath:在heightForCell:,它无限循环,我想cellForRow也调用heightForCell。那么有什么方法可以解决这个问题吗?
谢谢!
答案 0 :(得分:0)
您可以在heightForRow:delegate方法中使用NSStrings大小作为字符串,例如
CGSize maxSize = CGSizeMake(300, 800); //max x width and y height
NSString *cellTitle = @"Lorem ipsum";
UIFont *stringFont = [UIFont systemFontOfSize:14]; // use the same font your using on the cell
CGSize cellStringSize = [myString sizeWithFont:stringFont constrainedToSize:maximumSize lineBreakMode: UILineBreakModeWordWrap];
这将为您提供CGSize,然后您可以使用此处的高度并添加一点填充。您可以在此处找到更多信息:http://developer.apple.com/library/ios/#documentation/UIKit/Reference/NSString_UIKit_Additions/Reference/Reference.html
添
答案 1 :(得分:0)
使用– sizeWithFont:constrainedToSize:lineBreakMode:
的{{1}}(您可以在此门户网站上找到更多内容)或使用包含每个NSString
高度的数组,如本例所示(SectionInfo类){{ 3}}