gpt4 book ai didi

ios - 具有多种换行模式的 UILabel attributedText

转载 作者:技术小花猫 更新时间:2023-10-29 11:01:51 39 4
gpt4 key购买 nike

我需要显示带有两种不同样式(不同颜色,部分文本加粗)的文本的 UILabel。使用 attributedText 属性很容易解决这个问题。

我的问题是文本可能会或可能不会超过我可以放入标签的长度。当使用纯文本时,一切都按照我想要的方式工作。文本被换行以适应标签中的行数,如果/当文本长于标签中显示的长度时,尾部将被截断。

当我切换到使用 attributedText 时,我只能在尾部截断和自动换行之间进行选择。如果我想截断尾部,标签只会呈现带有截断尾部的单行(即使它可以容纳 10 行)。如果我选择自动换行,则尾部不会被截断,但无法显示在标签中的行就不会显示。

我的内容字符串不包含任何换行符,它只是一个长字符串。

最佳答案

我在设置行间距时错过了截断,但我所要做的就是将换行模式添加到段落样式

NSMutableParagraphStyle *paragrahStyle = [[NSMutableParagraphStyle alloc] init];
[paragrahStyle setLineSpacing:1.5];
[paragrahStyle setLineBreakMode:NSLineBreakByTruncatingTail];
NSMutableAttributedString *attributedText = [[NSMutableAttributedString alloc] initWithString:@"Long string that truncates"];
[attributedText addAttribute:NSParagraphStyleAttributeName value:paragrahStyle range:NSMakeRange(0, [attributedText length])];

self.label.attributedText = attributedText;

关于ios - 具有多种换行模式的 UILabel attributedText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16831207/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com