我有一个结合了多个字符串的textview,每个字符串都用换行符分隔。每个字符串都有一个标题,我想用不同的颜色显示并加粗。
到目前为止,我的代码如下:
let summaryText = "Summary \n"
let summaryAttributes = [NSAttributedString.Key.foregroundColor: UIColor.orange]
let summaryString = NSAttributedString(string: summaryText, attributes:summaryAttributes)
GoalSettingDetailsTextView.attributedText = summaryString + GoalSettingMoreDetailsSummary + "\n\n" + "Notes \n" + GoalSettingMoreDetailsNotes
在这里您可以看到我尝试将“摘要”设置为橙色。我还尝试过将“注释”标题显示为不带任何属性的普通字符串。这部分工作正常。但是,我收到“ summaryString”错误。
错误是:
二进制运算符'+'不能应用于'NSAttributedString'和'String'类型的操作数
我该如何工作?
答案 0 :(得分:1)
您不能使用+
附加NSAttributedString
。
创建一个NSMutableAttributedString
并进行构建。
let attrStr = NSMutableAttributedString(attributedString: summaryString)
attrStr.append(GoalSettingMoreDetailsSummary) // not sure what GoalSettingMoreDetailsSummary is
attrStr.append(NSAttributedString(string: "\n\nNotes \n"))
attrStr.append(GoalSettingMoreDetailsNotes) // not sure what GoalSettingMoreDetailsNotes is
GoalSettingDetailsTextView.attributedText = attrStr
此代码假定GoalSettingMoreDetailsSummary
和GoalSettingMoreDetailsNotes
的类型为NSAttributedString
。如果它们只是String
,那么就像我对文字字符串所做的那样,从它们创建NSAttributedString
。
答案 1 :(得分:0)
看看Prestyler。您可以这样写:
autoscaling_group_name