菜鸟教程小白 发表于 2022-12-13 12:45:03

iphone - 如何计算 UILabel 可以包含的 NSString 最大长度而不截断文本?


                                            <p><p>我有两个 UILabel,一个在另一个之上。
顶部有固定大小(2 行),底部可以扩展(0 行)。
我用于标签的文本可能很短,有时可能很长。
如何计算第一个 UILabel 最大字符串长度而不在中间切一个单词?</p>

<p>//这里是创建两个标签的代码。</p>

<pre><code>    titleView = [ initWithFrame:CGRectMake(70, 0, 200, 50)];
    titleView.numberOfLines = 2;

    titleView2 = [ initWithFrame:CGRectMake(20, 50, 250, 100)];
    titleView2.numberOfLines = 0;
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我已经用这个方法解决了问题:</p>

<pre><code>+ (int)getSplitIndexWithString:(NSString *)str frame:(CGRect)frame andFont:(UIFont *)font
{
    int length = 1;
    int lastSpace = 1;
    NSString *cutText = ;
    CGSize textSize = ;
      while (textSize.height &lt;= frame.size.height)
      {
          NSRange range = NSMakeRange (length, 1);
          if ([ isEqualToString:@&#34; &#34;])
          {
            lastSpace = length;
          }
          length++;
          cutText = ;
          textSize = ;
      }
      return lastSpace;
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于iphone - 如何计算 UILabel 可以包含的 NSString 最大长度而不截断文本?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/9965474/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/9965474/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iphone - 如何计算 UILabel 可以包含的 NSString 最大长度而不截断文本?