我有一个UILabel,其外观在IB中使用“Attributed”定义。我正在使用在运行时获取的文本更新标签。
如果我在代码中更新标签的.text属性,属性就会消失。同样,如果我创建一个新的NSAttributedString
来设置标签的attributionText属性,我需要知道样式属性。如何从字符串/标签中检索现有样式属性?我不认为我们应该在IB中然后在代码中两次定义样式属性?
更新:这就是我现在正在做的事情。它似乎工作。请注意,UILabel是UICollectionView中UICollectionViewCell的一部分。代码有点臃肿,但似乎有效。我使用现有字符串创建一个新的可变属性字符串,然后替换字符。另外因为这是集合视图界面的一部分,所以我不能在没有该单元格的文本时取消设置文本或其他东西,因为我想这也会删除样式。所以我只是在没有文字时将标签设置为隐藏,保留样式。
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;
}
答案 0 :(得分:0)
您可以致电myTextField.attributedText
获取NSAttributedString
。使用mutableString
的{{1}}属性修改初始字符串。