【问题标题】:UITableView with read more button after the 120 character in the UILabel in objective cUITableView 在目标 c 中的 UILabel 中的 120 个字符之后带有阅读更多按钮
【发布时间】: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


    【解决方案1】:

    您必须先将标签的字符串子串为 120,然后将这 120 个子串字符分配给标签。当您点击更多按钮时,再次将完整的原始长度字符串分配给标签,如果您使用行的内置动态单元格高度,它将自动增加单元格高度。 同时你也可以查看这个CollapsibleLabel

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-22
      • 1970-01-01
      相关资源
      最近更新 更多