【问题标题】:how to calculate accurate height of a label if it contains text with more spaces in iOS?如果标签包含iOS中带有更多空格的文本,如何计算标签的准确高度?
【发布时间】:2013-07-30 06:27:50
【问题描述】:

我只是想知道如何计算标签的准确高度。我读了同样的问题,但我的问题与标签的高度不同。以下代码用于根据标签高度计算单元格的动态高度。

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
        CGSize size;
        Comment *objCommnt = [arrOfComments objectAtIndex:indexPath.row];
        NSString *msg = objCommnt.comment;

        CGSize textSize = { 260.0, 10000.0 };
        size = [msg sizeWithFont:[UIFont boldSystemFontOfSize:12]
               constrainedToSize:textSize
                   lineBreakMode:UILineBreakModeWordWrap];
        size.height += padding;
        return size.height+padding +5;

        return 100;
}

填充在哪里

      static CGFloat padding = 20.0;

对于具有适当间距的评论,它给了我正确的大小,它的工作原理如下图所示:

对于具有连续单词的文本的 cmets 意味着两个单词之间有很大的空间给了我穿着高度,如下图所示

我的第二张图片你可以看到我的问题。当我计算它的高度动态时,它被计算为 80 为什么是就这样?? 我认为这是由于两个单词之间的间距更大或更长的单词之后的空格 任何人都知道为什么会感谢任何帮助。谢谢。

【问题讨论】:

    标签: ios dynamic uitableview height uilabel


    【解决方案1】:

    您已将标签宽度设置为 260 像素,但这是表格视图中标签的实际宽度吗?

    【讨论】:

      【解决方案2】:

      计算高度很容易,享受:

      - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 
      {   
          Comment *objCommnt = [arrOfComments objectAtIndex:indexPath.row];
          NSString *cellText = objCommnt.comment;
          UIFont *cellFont = [UIFont fontWithName:@"Helvetica-Bold" size:20.0f];
          CGSize constraintSize = CGSizeMake(260.0, MAXFLOAT);
      
          CGSize labelSize = [cellText sizeWithFont:cellFont 
                                  constrainedToSize:constraintSize 
                                      lineBreakMode:UILineBreakModeWordWrap];
      
          return labelSize.height + 20.0f;
      }
      

      希望对您有所帮助!

      更新!!! 你只需要:

      return size.height+padding +5;
      

      代替:

      return size.height+padding +5;
      
              return 100;
      

      【讨论】:

        猜你喜欢
        • 2011-11-09
        • 1970-01-01
        • 2018-11-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多