Swift - 在 TextView 中搜索字符串并将其设为粗体
Swift - search strings in TextView and make them bold
我有一个 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")
我有一个 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")