如何根据内容扩展uilabel高度?

时间:2012-03-20 11:44:34

标签: iphone ios

我想根据内容更改uilabel高度并将其显示在uitableview单元格中,有一个自定义单元格,单元格根据uilabel高度展开 按下按钮然后按照uilabel高度

扩展单元格高度

先谢谢你: - )

4 个答案:

答案 0 :(得分:3)

//根据标签的字体和换行模式计算大小

CGSize maxLabelSize = CGSizeMake(300,9999);

CGSize expectedLabelSize = [myString sizeWithFont:myLabel.font 
                        constrainedToSize:maxLabelSize 
                        lineBreakMode:myLabel.lineBreakMode]; 

//adjust the label the the new height.
CGRect newFrame = myLabel.frame;
newFrame.size.height = expectedLabelSize.height;
myLabel.frame = newFrame;

答案 1 :(得分:0)

试试这个

    [label sizeToFit];

请注意,标签会增加它的高度,使其宽度保持不变。

答案 2 :(得分:0)

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *text = displayText;

//CGSize constraint = CGSizeMake(CELL_CONTENT_WIDTH - (CELL_CONTENT_MARGIN * 2), 20000.0f);
CGSize constraint = CGSizeMake(tableView.frame.size.width - 30, 20000.0f);

CGSize size = [text sizeWithFont:[UIFont systemFontOfSize:15.0f] constrainedToSize:constraint lineBreakMode:UILineBreakModeWordWrap];

CGFloat height = MAX(size.height, 44.0f);

return height + 30;

}

答案 3 :(得分:0)

计算标签文字的大小&比设置坐标为

CGSize labelWidth=[_label.text sizeWithFont:[UIFont fontWithName:@"Verdana" size:12] constrainedToSize:CGSizeMake(200, 15) lineBreakMode:UILineBreakModeTailTruncation];