【发布时间】:2020-10-25 03:08:33
【问题描述】:
我是 SwiftUI 的新手,完全糊涂了。我设法将 NSTextView 嵌入到我的 SwiftUI 视图中,并将其文本与以下代码绑定。
我不明白的;有没有办法处理键盘输入到 NSTextView 并相应地更改其文本(例如 CMD + R 将所选文本的文本颜色设置为红色)?有没有办法在 SwiftUI 中与 UI 元素进行交互?
“RichTextField”
struct RichTextField: NSViewRepresentable {
typealias NSViewType = NSTextView
@Binding var attributedString: NSAttributedString
func makeNSView(context: Context) -> NSTextView {...
// [...]
}
查看
struct EditWindow: View {
@ObservedObject var model: EditEntryViewModel
@Binding var isPresented: Bool
var body: some View {
RichTextField(attributedString: self.$model.answer1, isEditable: true)
// [...]
}
}
此外,我已经设法在 AppDelegate 中设置了一个菜单命令,但是我如何使用它来更改任意 View 的 NSTextView 中的文本(在某个位置)?
@IBAction func setTagImportant(_ sender: Any) {
print("setTagImportant")
}
非常感谢您为我阐明了这一点...
【问题讨论】:
标签: swift macos swiftui nstextview