标签高度与boundingRectWithSize保持一致。 iOS版

时间:2014-11-09 11:36:35

标签: ios objective-c uilabel

基本上,我试图改变我的标签高度,就像典型的聊天泡泡一样。我在cellForRowIndexPath中有以下代码:

CGSize maximumLabelSize = CGSizeMake(296,9999);

expectedLabelSize = [cell.myMessageLabel.text boundingRectWithSize:maximumLabelSize options:(NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading) attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:17.0f]} context:nil];

NSLog(@"%f",expectedLabelSize.size.height);
NSLog(@"%f",cell.myMessageLabel.frame.size.height);

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

NSLog(@"%f",cell.myMessageLabel.frame.size.height);

使用我的NSLogs,它告诉我高度已经改变。但是,当我运行应用程序时,我的单元格中的标签保持相同的高度。如何在第一次加载视图时加载正确的高度。

1 个答案:

答案 0 :(得分:0)

你可以试试这个。

cell.myMessageLabel.translatesAutoresizingMaskIntoConstraints = YES;