Objective c OSX使用选项卡在视图中的子控件之间导航不工作

Objective c OSX使用选项卡在视图中的子控件之间导航不工作,objective-c,xcode,macos,cocoa,Objective C,Xcode,Macos,Cocoa,我不熟悉Xcode/OSX UI,所以我可能忽略了一些愚蠢的事情。这是针对OSX 10.10桌面的XCode 5.11 我继承了一些带有一些视图的代码,其中使用tab键在视图中的子控件之间导航不起作用 在研究这一点时,几乎所有的东西都说要确保设置第一响应者,然后使用nextKeyView链接您的控件 我按照这个视频中的步骤(XCode 4,但是所有的功能对于5.11来说似乎都是一样的)没有任何效果 我还研究了这个解决方案,它听起来与我所看到的问题类似,但我继承的一个类使用NSWindowCont

我不熟悉Xcode/OSX UI,所以我可能忽略了一些愚蠢的事情。这是针对OSX 10.10桌面的XCode 5.11

我继承了一些带有一些视图的代码,其中使用tab键在视图中的子控件之间导航不起作用

在研究这一点时,几乎所有的东西都说要确保设置第一响应者,然后使用nextKeyView链接您的控件

我按照这个视频中的步骤(XCode 4,但是所有的功能对于5.11来说似乎都是一样的)没有任何效果

我还研究了这个解决方案,它听起来与我所看到的问题类似,但我继承的一个类使用NSWindowController vs.NSViewController作为基础,没有要覆盖的loadView,而另一个派生自NSViewController的类在对loadView所做的更改中没有表现出任何不同

当我的窗口启动时,我的first responder控件(本例中为NSTextField)具有焦点(蓝色突出显示),但tab键被忽略,除非我使用鼠标,否则焦点不会改变

因此,一开始这并不是一个标签排序问题,它看起来像是一个标签被忽略的问题,谁知道排序是什么。我尝试使用鼠标将焦点设置为NSButtonCell和NSPoupButton,然后从中导航选项卡,查看我的NSTextField是否有问题,但它们表现出相同的行为。所有控件均未设置为“拒绝第一响应者”,这是建议检查的另一个设置

我不知所措,正在寻找任何其他东西来尝试或检查

我遇到的第一个问题是:窗口/子视图/多个子框/每个框有多个控件,以防影响或使事情复杂化。它主要用于设置应用程序首选项


第二个视图似乎更复杂,因为只有一个窗口在下一个/上一个进程(向导界面)中交换其子视图。初始窗口nib是“空白”的,因此我没有看到如何像我那样将IB的第一响应者与首选项窗口相关联,因为所有控件都在各自的视图nib上(这些都显示为“自定义视图”而不是首选项的“视图”)。

我的解决方案是确保“自动重新计算视图循环”已为承载这些视图的窗口启用属性检查器中的设置。这与NSWindow的属性相对应。

我遇到了一个类似的问题,这里通过重写RecreacteKeyViewLoop解决了这个问题,如果它有助于我在视图中的子控件之间使用tab键导航时遇到同样的问题,则它不起作用。在Sierra OS x更新后,使用“自动重新计算视图循环”设置也不起作用。请帮忙!!