objective-c - NSTextField nextKeyView 被忽略

标签 objective-c macos cocoa nstextfield

  • 虽然我设置了 NSTextField 的 nextKeyView,但焦点是通过不同的 NSTextField 获得的

  • 尝试选中/取消选中“自动重新计算 View 循环”

  • 切换“完全键盘访问”

  • 还 try catch 标签

代码

- (BOOL)control:(NSControl*)control textView:(NSTextView*)textView doCommandBySelector:(SEL)commandSelector {

        BOOL result = NO;

        if (commandSelector == @selector(insertTab:)) {

            // tab action:
            result = NO;

        }

        return result;
    }

返回是/否,厌倦了将下一个响应者设置为

[self.window makeFirstResponder:self.nextKeyView]

没有成功

最佳答案

使用 selectText: 选择 NSTextField,同时捕获“Tab”有效(请注意,您必须返回 YES,这意味着您正在处理 Tab)...您不能纯粹依赖 nextKeyView

将其放入您的 NSTextField 子类中并链接 nextKeyView

- (BOOL)control:(NSControl*)control textView:(NSTextView*)textView doCommandBySelector:(SEL)commandSelector
{
    BOOL result = NO;

    if (commandSelector == @selector(insertTab:)) {

        // tab action:
        // always insert a tab character and don’t cause the receiver to end editing
        if ([self.nextKeyView isKindOfClass:[NSTextField class]]) {

            [(NSTextField *)self.nextKeyView selectText:self];
            result = YES;

        } else {

            //[textView insertTabIgnoringFieldEditor:self];
            result = NO;

        }

    }

    return result;
}

关于objective-c - NSTextField nextKeyView 被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36357141/

相关文章:

iphone - Cocoa/Iphone 开发 - 目标/操作机制

iphone - 通过解析 XML 生成动态 View

iphone - 获取解析字节失败。错误 : optm 1869640813 in audio streaming in iphone sdk

objective-c - 核心数据问题使用容器对分层数据进行建模

python - 如何使 zsh 在 mac 10.9 上使用 python 2.7.6 而不是 Apple 预装的 2.7.5

xcode - WKWebView 不显示在 Playground 上

c++ - Mac OS X。Lua 框架没有这样的文件或目录

objective-c - 为 CoreAudio 设置效果音频单元

objective-c - NSButton在cocoa mac应用程序中顺时针旋转动画

objective-c - 如何访问从另一个类的 nib 文件加载的 NSWindow 的实例属性?