【发布时间】:2018-09-27 10:54:31
【问题描述】:
我在 UILabel 上有一个表格视图,里面有 120 个字符必须显示在那里,并且在阅读更多按钮之后,当我们单击阅读更多按钮单元格时,想要根据 UILabel 文本的内容展开。请帮我这样做。
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
if(isReadMoreButtonTouched && [indexPath row]== indexOfReadMoreButton)
{
NSLog(@"cccccccccccccccccccccc -------- %f",size.height);
return size.height+52;;
}
else{
return 120.0f;
}
}
这里的size是UILabel的高度
- (CGFloat)getLabelHeight:(UILabel*)label
{
CGSize constraint = CGSizeMake(label.frame.size.width, CGFLOAT_MAX);
CGSize size;
NSStringDrawingContext *context = [[NSStringDrawingContext alloc] init];
CGSize boundingBox = [label.text boundingRectWithSize:constraint
options:NSStringDrawingUsesLineFragmentOrigin
attributes:@{NSFontAttributeName:label.font}
context:context].size;
size = CGSizeMake(ceil(boundingBox.width), ceil(boundingBox.height));
return size.height;
}
【问题讨论】:
标签: ios objective-c uitableview uilabel