首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在不影响样式的情况下更新UILabel中的attributedString文本

问如何在不影响样式的情况下更新UILabel中的attributedString文本
EN

Stack Overflow用户
提问于 2014-07-03 16:13:18
回答 1查看 766关注 0票数 0

我有一个UILabel,它的外观是在IB中使用"Attributed“定义的。我正在使用在运行时获取的文本更新标签。如果我在代码中更新标签的.text属性,属性就消失了。同样,如果我创建一个新的样式来设置标签的attributedText属性,我将需要知道NSAttributedString属性。如何从字符串/标签中检索现有的样式属性?我不认为我们应该定义两次样式属性,在IB中,然后在代码中?

更新:我现在就是这么做的。它似乎起作用了。请注意,UILabel是UICollectionView中UICollectionViewCell的一部分。代码有点臃肿,但看起来还不错。我使用现有的字符串创建一个新的可变属性字符串,然后替换字符。另外,因为这是集合视图界面的一部分,所以我不能在单元格没有文本时取消设置文本或其他内容,因为我猜这也会删除样式。因此,当没有文本时,我只是将标签设置为隐藏,保留样式。

代码语言:javascript
复制
if (mytextstring != nil) {
    NSMutableAttributedString* newthing = [[NSMutableAttributedString alloc] initWithAttributedString:cell.label.attributedText];
    [newthing replaceCharactersInRange:NSMakeRange(0, newthing.length) withString:mytextstring];
    cell.label.attributedText = newthing;
    cell.label.hidden = NO;
}
else {
    cell.label.hidden = YES;
}
EN

回答 1

Stack Overflow用户

发布于 2014-07-03 16:41:52

您可以调用myTextField.attributedText来获取NSAttributedString。使用NSMutableAttributedString的mutableString属性修改初始字符串。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24548377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档