我正在尝试在SwiftUI文本字段中更改插入符号的颜色。
我尝试过:
#!/usr/bin/python3.5 -Es
但是我收到一条错误消息,指出“'accentColor'在macOS中不可用”。有什么方法可以在MacOS中实现相同的目标? .foregroundColor仅更改文本颜色,而不更改插入符号。
答案 0 :(得分:0)
此功能尚不可用。我向 Apple 提交了 FB8988194
以使 accentColor
像在 iOS 上一样设置光标颜色。
唯一的方法是使用 NSViewRepresentable
并将其设置在您的 NSTextField
中,如下所示:
struct YourCustomField: NSViewRepresentable{
func makeNSView(context: Context) -> NSTextField {
let textField = FancyTextField()
...
}
func updateNSView(_ nsView: NSTextField, context: Context) {
...
}
}
class FancyTextField: NSTextField {
override func becomeFirstResponder() -> Bool {
let textView = window?.fieldEditor(true, for: nil) as? NSTextView
textView?.insertionPointColor = NSColor(named: "YourColorName")!
return super.becomeFirstResponder()
}
}
如果有人知道纯 SwiftUI 方式,我很想了解它。
答案 1 :(得分:-1)