菜鸟教程小白 发表于 2022-12-12 14:02:13

ios - 在 UILabel 中格式化多行文本?


                                            <p><p>我想要有 4 行的标签。如果文本不够长 4 行,则不会发生任何事情。但是,如果文本是 4 行或更长,我希望它仅在最后一行有一点不同的颜色。</p>

<p>有没有简单的方法来做到这一点。我知道我可以使用属性字符串更改标签的字体,但是如何获取第四行的文本?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>使用 <a href="https://developer.apple.com/library/ios/DOCUMENTATION/Cocoa/Reference/Foundation/Classes/NSAttributedString_Class/Reference/Reference.html" rel="noreferrer noopener nofollow">NSAttributedString</a>以您想要的方式格式化段落、行、单词甚至单个字符。要获取第 4 行的文本,请将文本用 <code>\n</code> 字符分隔。</p>

<p>如果没有<code>\n</code>,可以使用<code>getLineStart:end:contentsEnd:forRange:</code>,改编自<a href="https://developer.apple.com/library/ios/documentation/cocoa/conceptual/Strings/Articles/stringsParagraphBreaks.html#//apple_ref/doc/uid/TP40005016-SW1" rel="noreferrer noopener nofollow">here</a> </p>

<pre><code>NSString *string = /* assume this exists */;
unsigned length = ;
unsigned lineStart = 0, lineEnd = 0, contentsEnd = 0;
NSMutableArray *lines = ;
NSRange currentRange;
while (lineEnd &lt; length) {
    [string getLineStart:&amp;lineStart end:&amp;lineEnd
    contentsEnd:&amp;contentsEnd forRange:NSMakeRange(lineEnd, 0)];
    currentRange = NSMakeRange(lineStart, contentsEnd - lineStart);
    ];
}
</code></pre>

<p>编辑<br/>
重新阅读问题后,这可能不是您所追求的。查看完整答案 <a href="https://stackoverflow.com/questions/4082041/resulting-lines-of-uilabel-with-uilinebreakmodewordwrap" rel="noreferrer noopener nofollow">here</a> :</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 在 UILabel 中格式化多行文本?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/18592143/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/18592143/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 在 UILabel 中格式化多行文本?