【发布时间】:2017-08-01 08:33:42
【问题描述】:
编辑:在 macOS 项目中
我有一个简单的 ViewController,我在状态项菜单应用程序上显示为弹出框。
我使用 NSTableView 更改视图文本的文本,具体取决于单击的项目。我使用的代码和这个类似:
mainTextField.insertText(newStr, replacementRange: theRange)
(我使用 insertText 是为了将更改记录在撤消管理器中)
然后我突出显示文本:
// create the new NSRange
let range = NSRange(location: startRange, length: newStrLength)
// select the range in field
mainTextField.selectedRange = range
一切正常,除了文本被突出显示,但使用浅灰色而不是通常的天蓝色,表明控件不是第一响应者。当我点击该字段时,选择消失了。
其实我希望 NSTextView 成为第一响应者,这样我就可以直接复制选定的文本。
编辑:如果我按键盘上的 Tab 键,我会让 textView 成为第一响应者(灰色选择变成标准的天蓝色)。
【问题讨论】:
-
检查that,希望它能指导你。
-
谢谢JFS,我一定会看的。
标签: swift xcode macos-sierra nstextview