gpt4 book ai didi

swift - 使 NSTextField 接受返回并在不结束编辑的情况下输入

转载 作者:搜寻专家 更新时间:2023-11-01 07:15:02 26 4
gpt4 key购买 nike

我目前正在用 swift 编写文本编辑器,但在按 enter/return 时插入新行 ("\n") 时遇到了问题。

现在,当按下 enter 键时,textField 会插入一个新行但无故结束编辑。

这是我的函数,只有在按下回车键时才会被调用。

@IBAction func textFieldAction(_ sender: NSTextField) {
self.textField?.stringValue.append("\n")
self.textField?.selectAll(nil)
}

如果我需要更多代码,可以在此处找到整个文件: https://github.com/notalent/manuscript-mac/blob/master/Manuscript/Document.swift

最佳答案

我认为正确的答案是“不要使用 NSTextField;使用 NSTextView”。 NSTextField 并非旨在执行您想要执行的操作。 Cocoa Text Architecture Guide有一堆关于 NSTextFieldNSTextView 的信息。另见 this question here on SO .

但是,如果你坚持使用NSTextField,你可以实现委托(delegate)方法control:textView:doCommandBySelector:NSTextField 中提供返回/输入键(以及其他)的特殊处理。参见 Apple's Technical Q&A QA1454, "How to make NSTextField accept tab, return and enter keys" .

说真的,不过...只需使用 NSTextView。 :)

关于swift - 使 NSTextField 接受返回并在不结束编辑的情况下输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42590487/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com