在Swift中使用Tab键选择下一个NSTextView

Aar*_*ron 13 macos xcode keydown nstextview swift

有没有办法在Swift中按键盘上的tab键来更改响应者或选择另一个文本视图?

在此输入图像描述

注意:这是填充空白类型的应用程序.

我的VC创建了一个单词[Word]列表,每个单词都有自己的WordView - word.wordView.WordView是显示的内容.WordView是NSTextView的孩子.

我试图覆盖keydown,但它不允许我在文本视图中键入任何内容.

Leo*_*bus 11

您必须通过IB或以编程方式将textField nextKeyView连接到下一个textField:

textField1.nextKeyView = textField2
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


roc*_*cky 6

假设你想从textView1转到textView2.首先设置委托:

self.textView1.delegate = self
Run Code Online (Sandbox Code Playgroud)

然后实现委托方法:

func textView(textView: NSTextView, doCommandBySelector commandSelector: Selector) -> Bool {
    if commandSelector == "insertTab:" && textView == self.textView1 {
        self.window.makeFirstResponder(self.textView2)
        return true
    }
    return false
}
Run Code Online (Sandbox Code Playgroud)