我想根据内容更改uilabel高度并将其显示在uitableview单元格中,有一个自定义单元格,单元格根据uilabel高度展开 按下按钮然后按照uilabel高度
扩展单元格高度先谢谢你: - )
答案 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];