我正在使用SwiftUI和NSViewRepresentable创建一个可以显示可选文本的自定义NSTextView。下面是我的代码:
struct SelectableText: NSViewRepresentable {
let text: String
let font: NSFont?
init(text: String, font: NSFont? = nil) {
self.text = text
self.font = font
}
func makeNSView(context: Context) -> NSTextField {
let textField = NSTextField(wrappingLabelWithString: text)
textField.isBezeled = false
textField.isEditable = false
textField.isSelectable = true
textField.backgroundColor = .clear
textField.font = font ?? NSFont.systemFont(ofSize: NSFont.systemFontSize)
return textField
}
func updateNSView(_ nsView: NSTextField, context: Context) {
nsView.stringValue = text
nsView.font = font ?? NSFont.systemFont(ofSize: NSFont.systemFontSize)
}
}
我想在NSTextView中更改选择高亮显示的颜色。我尝试设置selectedTextAttributes属性,但它没有按预期工作。NSTextView未接收正确处理文本选择所需的事件。
如何在SwiftUI中更改NSTextView中的选择颜色?任何帮助将不胜感激。
1条答案
按热度按时间0lvr5msh1#
如果你是指
NSTextView
,这里有一个可能的方法: