我正在使用 NSMutableAttributedString 在标签中显示属性字符串。有没有办法在不改变属性的情况下修剪 NSMutableAttributedString 的第一个字符。
问问题
1163 次
2 回答
3
否,因为属性的属性之一是它们影响的字符串的范围,如果字符串长度发生变化,这些将变得无效。
最好的方法是从头开始重建属性字符串,这可能是简单的还是困难的,这取决于您是否知道要添加的属性。
于 2014-10-15T12:57:12.187 回答
2
NSMutableAttributedString
支持deleteCharacters(in:NSRange)
方法:
@IBOutlet weak var topLabel: NSTextField!
@IBOutlet weak var bottomLabel: NSTextField!
...
let textAttributes : [String : Any] = [
NSForegroundColorAttributeName : NSColor.blue,
NSFontAttributeName : NSFont(name: "Menlo", size: 12.0)!
]
let text = NSMutableAttributedString(string: "ABCDEF",
attributes: textAttributes)
topLabel.attributedStringValue = text
text.deleteCharacters(in: NSMakeRange(0,1))
bottomLabel.attributedStringValue = text
...
于 2017-06-26T22:32:23.820 回答