xcode - 如何在 swift 中取消选择 TextField 的内容

标签 xcode macos swift

我有一个简单的桌面应用程序,当窗口加载时,文本字段应该聚焦。我已经完成了这项工作,但有点烦人的是,将用户内容加载到文本字段后,该字段的整个内容都会自动选择。用户可能想要开始编辑内容,但他们很少/永远不想一次全部替换它(想象一下文本编辑器这样做,看看我的意思)。

我看到有一个 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/

相关文章:

ios - 在 Xcode 上运行我的第一个 IOS 应用程序时出错

iphone - Xcode with phonegap project Ipad模拟器变成iphone大小

objective-c - 通过代码验证应用程序的签名

objective-c - NSTimer 不触发

ios - 其他 UIView 下的 UIGestureRecognizer

ios - 容器 View 将无法正确加载 View

ios - 如何在 UICollectionviewcontroller 中显示文本字段?

objective-c - 为客户端、服务器和插件组织框架

Swift 3 setValuesForKeys 错误

ios - 将容器中的 UICollectionView 单元居中