菜鸟教程小白 发表于 2022-12-13 00:38:40

ios - 自动调整 MULTILINE UILabel 的文本大小


                                            <p><p>我想用 numberOfLines>1 自动调整 UILabel 的文本大小。 UILabel 的宽度和高度必须是固定的。有没有更好的解决方案,而不是手动计算字符和设置大小?我正在使用 iOS6。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我修改了我找到的解决方案。现在可以在 UITableViewCell 中使用它:</p>

<pre><code>- (void)resizeFontForLabel:(UILabel*)aLabel maxSize:(int)maxSize minSize:(int)minSize lblWidth: (float)lblWidth lblHeight: (float)lblHeight {
    // use font from provided label so we don&#39;t lose color, style, etc
    UIFont *font = aLabel.font;

    // start with maxSize and keep reducing until it doesn&#39;t clip
    for(int i = maxSize; i &gt;= minSize; i--) {
      font = ;
      CGSize constraintSize = CGSizeMake(lblWidth, MAXFLOAT);

//      NSString* string = ;
      CGSize labelSize = ;

      if(labelSize.height &lt;= lblHeight)
            break;
    }

    // Set the UILabel&#39;s font to the newly adjusted font.
    aLabel.font = font;

}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 自动调整 MULTILINE UILabel 的文本大小,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/14399222/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/14399222/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 自动调整 MULTILINE UILabel 的文本大小