【发布时间】:2020-01-04 10:02:40
【问题描述】:
我有一个UITextField,里面有长文本,我需要找到文本中所有出现的字符串并将它们加粗。
我知道我应该使用NSMutableAttributedString 使文本变为粗体,但是如何在文本中搜索特定的子字符串?
【问题讨论】:
标签: ios swift uitextfield nsmutableattributedstring
我有一个UITextField,里面有长文本,我需要找到文本中所有出现的字符串并将它们加粗。
我知道我应该使用NSMutableAttributedString 使文本变为粗体,但是如何在文本中搜索特定的子字符串?
【问题讨论】:
标签: ios swift uitextfield nsmutableattributedstring
您可以创建一个可以在您的 textView 插座上调用的 textView 扩展:
extension UITextView {
func makeBold(originalText: String, boldText: String) {
let attributedOriginalText = NSMutableAttributedString(string: originalText)
let boldRange = attributedOriginalText.mutableString.range(of: boldText)
attributedOriginalText.addAttribute(NSAttributedString.Key.font, value: UIFont.boldSystemFont(ofSize: 13), range: boldRange)
self.attributedText = attributedOriginalText
}
}
使用方法:
@IBOutlet weak var textView: UITextView!
textView.makeBold(originalText: "Make bold", boldText: "bold")
【讨论】: