我需要在numberOfLines
中调整cellForRowAtIndexPath
标签。标签处于自动换行模式。
但是,标签高度的实际计算是在heightForRowAtIndexPath
中进行的。
如何计算numberOfLines
中的cellForRowAtIndexPath
?现在我只是使用一些非常大的数字。
答案 0 :(得分:2)
来自Apple Docs:
删除任何最大限制,并使用 根据需要设置多行,设置值 这个属性为0。
然后你可以在heightForRowAtIndexPath
方法中使用这种技术来确定细胞的高度。
常量:
static const CGFloat kCellFontSize = 14.0;
static const CGFloat kCellWidth = 300.0;
static const CGFloat kCellHeightMax = 999.0;
static const CGFloat kCellPadding = 10.0;
方法:
CGSize maxSize = CGSizeMake( kCellWidth, kCellHeightMax );
CGSize labelSize =
[[self cellTextString] sizeWithFont: [self cellFont]
constrainedToSize: maxSize
lineBreakMode: UILineBreakModeTailTruncation];
return (labelSize.height + (2 * kCellPadding));