的自動標記部分我現在有我的NSTextView,我想這樣它看起來像這樣它自動寫入粗體哈希標籤(#):NSTextView
這是我#NSTextView串
(之前/之後的文本和標籤的長度是不是常量) 我如何在Swift(3)中做到這一點?
的自動標記部分我現在有我的NSTextView,我想這樣它看起來像這樣它自動寫入粗體哈希標籤(#):NSTextView
這是我#NSTextView串
(之前/之後的文本和標籤的長度是不是常量) 我如何在Swift(3)中做到這一點?
請嘗試以下操作。我的視圖控制器有一個屬性,textView指向我的故事板中的NSTextView。
import Cocoa
class ViewController: NSViewController {
@IBOutlet var textView: NSTextView!
override func viewDidLoad() {
super.viewDidLoad()
let text = "This is the string of my #NSTextView. All #hashtags should be displayed in bold."
textView.string = text
let attributes = [NSFontAttributeName : NSFont.systemFont(ofSize: 14.0)]
let range = NSRange(location: 0, length: text.characters.count)
textView.textStorage?.setAttributes(attributes, range: range)
do {
let regexString = "#(\\w*)"
let regex = try NSRegularExpression(pattern: regexString, options: [])
let matches = regex.matches(in: text, options: [], range: NSRange(location: 0, length: text.characters.count))
for match in matches {
textView.textStorage?.setAttributes([NSFontAttributeName : NSFont.boldSystemFont(ofSize: 14.0)], range: match.range)
}
} catch let error {
print(error)
}
}
}
呃...使用UIKit? –
除了您將通過NSTextView的textStorage對象設置文本屬性之外,您可以使用NITextView完成與UITextView相同的操作。 –
請告訴我們如何。 –
做一些搜索,如何使用NSRange來設置'NSAttributedString'來將樣式應用到文本的各個部分。配置完字符串後,您可以將NSTextView的'.attributedText'屬性設置爲您創建的字符串。 – par
向我們展示你迄今爲止做了什麼,而不是做出一個早期的聖誕願望。 –