更改标签大小和位置运行时tableview

时间:2010-10-14 07:10:12

标签: iphone objective-c

我在customCell中使用UITableView我的单元格在customCell中有不同UILabel

我想根据要显示的文本更改标签的大小,以便没有文本截断,标签下面的标签位置大小已经改变,因此没有标签相互重叠。

谢谢..

1 个答案:

答案 0 :(得分:0)

如果您是UITableViewCell的子类,则可以在layoutSubviews中布置自定义标签:

- (void)layoutSubviews {
    [super layoutSubviews];
    myCustomLabel.frame = CGRectMake( 5, 5, self.bounds.width - 5, 40 );
    myOtherCustomLabel.frame = CGRectMake( CGRectGetMinX( myCustomLabel.frame ), CGRectGetMaxY( myCustomLabel.frame ), myCustomLabel.frame.size.width, 30 );
}

要计算文字所需的尺寸,请使用sizeWithFont:

CGSize textSize = [textString sizeWithFont:labelFont constrainedToSize:CGSizeMake( widthOfCell, CGFLOAT_MAX ) lineBreakMode:UILineBreakModeWordWrap];