Swift 3:简单地创建一个NSMutableAttributedString,并将属性化字符串附加到其中。
let mutableAttributedString = NSMutableAttributedString()
let boldAttribute = [
NSFontAttributeName: UIFont(name: "GothamPro-Medium", size: 13)!,
NSForegroundColorAttributeName: Constants.defaultBlackColor
]
let regularAttribute = [
NSFontAttributeName: UIFont(name: "Gotham Pro", size: 13)!,
NSForegroundColorAttributeName: Constants.defaultBlackColor
]
let boldAttributedString = NSAttributedString(string: "Warning: ", attributes: boldAttribute)
let regularAttributedString = NSAttributedString(string: "All tasks within this project will be deleted. If you're sure you want to delete all tasks and this project, type DELETE to confirm.", attributes: regularAttribute)
mutableAttributedString.append(boldAttributedString)
mutableAttributedString.append(regularAttributedString)
descriptionTextView.attributedText = mutableAttributedString
swift5更新:
let captionAttribute = [
NSAttributedString.Key.font: Font.captionsRegular,
NSAttributedString.Key.foregroundColor: UIColor.appGray
]
let format = "#{{user}} mentioned you in a comment. #{{comment}}"
let message = NSAttributedString(format: format,
attributes: commonAttributes,
mapping: ["user": attributedName, "comment": attributedComment])
9条答案
按热度按时间roqulrg31#
我建议您使用@Linuxios建议的单个可变属性字符串,下面是另一个示例:
但是,为了获得所有选项,您也可以创建一个可变属性字符串,由包含已放在一起的输入字符串的格式化NSString组成,然后使用
addAttributes: range:
将属性添加到包含输入字符串的范围中,但我推荐前一种方法。gfttwv5a2#
如果使用Swift,只需重载
+
运算符,就可以像连接普通字符串一样连接它们:现在,您只需添加它们即可将它们连接起来:
qfe3c7zg3#
Swift 3:简单地创建一个NSMutableAttributedString,并将属性化字符串附加到其中。
swift5更新:
3pmvbmvn4#
试试这个:
其中
astring1
和astring2
是NSAttributedString
s。mbskvtky5#
您可以通过以下方式添加2
NSMutableAttributedString
:另一种方法同时适用于
NSMutableAttributedString
和NSAttributedString
:另一种方法是...
以及:
您可以使用以下扩展名执行此操作:
beq87vna6#
如果您使用的是Cocoapods,除了上述两种方法之外,还有一种方法可以避免代码的易变性,那就是在
NSAttributedString
上使用优秀的NSAttributedString+CCLFormat类别,这样您就可以编写如下代码:当然,它只是在幕后使用
NSMutableAttributedString
。它还有一个额外的优势,那就是它是一个成熟的格式化函数--因此它可以做的不仅仅是将字符串附加在一起。
lp0sw83n7#
7d7tgy0s8#
您可以尝试SwiftyFormat它使用以下语法
ny6fqffe9#