我有一个简单的桌面应用程序,当窗口加载时,文本字段应该聚焦。我已经完成了这项工作,但有点烦人的是,将用户内容加载到文本字段后,该字段的整个内容都会自动选择。用户可能想要开始编辑内容,但他们很少/永远不想一次全部替换它(想象一下文本编辑器这样做,看看我的意思)。
我看到有一个 selectAll 的操作:但我想要的是 selectNone 的相反操作:
我尝试将 nil 传递给 selectText 方法,但这不起作用:
textField.selectText(nil)
我在 StackOverflow 上找到了许多提到 selectedTextRange 的答案,但这似乎已经过时了,因为 Xcode 6.3 无法将其识别为 TextField 上的有效属性。
谁能解释一下我是如何做到这一点的?
最佳答案
我已经有一段时间没有将 NSTextFields 处理到这个级别了(这些天我主要在 iOS 中工作)。
经过一番挖掘后,我在网上发现了这个:
NSText* textEditor = [window fieldEditor:YES forObject:textField];
NSRange range = {start, length};
[textEditor setSelectedRange:range];
window 是包含您的字段 textField 的窗口。
这需要字段编辑器来管理您的字段,只需预先使用 selectText:sender 方法选择字段的整个文本即可完成此操作。
关于xcode - 如何在 swift 中取消选择 TextField 的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30407560/