有没有办法在 iOS 的单个标签中使用两种甚至三种字体颜色?
如果以文本“你好,你好吗”为例,“你好”会是蓝色,而“你好吗”会是绿色?
这可能吗,这似乎比创建多个标签更容易?
最佳答案
首先初始化 NSString 和 NSMutableAttributedString,如下所示。
var myString:NSString = "I AM KIRIT MODI"
var myMutableString = NSMutableAttributedString()
在ViewDidLoad
override func viewDidLoad() {
myMutableString = NSMutableAttributedString(string: myString, attributes: [NSFontAttributeName:UIFont(name: "Georgia", size: 18.0)!])
myMutableString.addAttribute(NSForegroundColorAttributeName, value: UIColor.redColor(), range: NSRange(location:2,length:4))
// set label Attribute
labName.attributedText = myMutableString
super.viewDidLoad()
}
输出
多种颜色
在您的 ViewDidLoad 中添加以下行代码以在字符串中获取多种颜色。
myMutableString.addAttribute(NSForegroundColorAttributeName, value: UIColor.greenColor(), range: NSRange(location:10,length:5))
多色输出
swift 4
var myMutableString = NSMutableAttributedString(string: str, attributes: [NSAttributedStringKey.font :UIFont(name: "Georgia", size: 18.0)!])
myMutableString.addAttribute(NSAttributedStringKey.foregroundColor, value: UIColor.red, range: NSRange(location:2,length:4))
swift 5.0
var myMutableString = NSMutableAttributedString(string: str, attributes: [NSAttributedString.Key.font :UIFont(name: "Georgia", size: 18.0)!])
myMutableString.addAttribute(NSAttributedString.Key.foregroundColor, value: UIColor.red, range: NSRange(location:2,length:4))
关于ios - 在单个标签中使用多种字体颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27728466/