UILabel numberOfLines

时间:2010-06-30 13:17:43

标签: iphone

我需要在numberOfLines中调整cellForRowAtIndexPath标签。标签处于自动换行模式。 但是,标签高度的实际计算是在heightForRowAtIndexPath中进行的。

如何计算numberOfLines中的cellForRowAtIndexPath?现在我只是使用一些非常大的数字。

1 个答案:

答案 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));