Cocoa 重新计算KeyViewLoop不';行不通

Cocoa 重新计算KeyViewLoop不';行不通,cocoa,interface-builder,osx-lion,nswindow,tab-ordering,Cocoa,Interface Builder,Osx Lion,Nswindow,Tab Ordering,在cocoa应用程序中,我希望更改视图的键顺序。我按所需顺序填写所有子视图的nextKeyView参考。在视图的awakeFromNib函数中,我执行以下操作: [[self.view window] setInitialFirstResponder:self.view]; [[self.view window] setAutorecalculatesKeyViewLoop:NO]; [[[self view] window] recalculateKeyViewLoop]; 其中,self.

在cocoa应用程序中,我希望更改视图的键顺序。我按所需顺序填写所有子视图的nextKeyView参考。在视图的
awakeFromNib
函数中,我执行以下操作:

[[self.view window] setInitialFirstResponder:self.view];
[[self.view window] setAutorecalculatesKeyViewLoop:NO];
[[[self view] window] recalculateKeyViewLoop];
其中,
self.view
nextKeyView
设置为我要按键顺序显示的第一个子视图

没有任何帮助,键顺序保持默认。如何解决?
谢谢

调用
重新计算KeyViewLoop
强制窗口自动计算关键视图循环。如果手动设置了关键视图循环,则不希望执行此操作,因为它正是您刚才在
[[self.view window]setAutorecalculatesKeyViewLoop:NO]
中告诉窗口不要执行的操作

你不需要这些代码。在Interface Builder中,确保您的窗口未选中“自动重新计算视图循环”复选框,并将窗口的
initialFirstResponder
出口连接到要作为初始第一响应者的视图


无需代码。

调用
重新计算KeyViewLoop
强制窗口自动计算关键视图循环。如果手动设置了关键视图循环,则不希望执行此操作,因为它正是您刚才在
[[self.view window]setAutorecalculatesKeyViewLoop:NO]
中告诉窗口不要执行的操作

你不需要这些代码。在Interface Builder中,确保您的窗口未选中“自动重新计算视图循环”复选框,并将窗口的
initialFirstResponder
出口连接到要作为初始第一响应者的视图


无需代码。

根据Rob的回答,在XCode 7.3中,您可以在主窗口的界面生成器中找到以下复选框:




根据Rob的回答,在XCode 7.3中,您可以在主窗口的界面生成器中找到以下复选框:




我提出问题的代码位于控制器的awakeFromNib中,我将该视图作为子视图添加到窗口的内容视图中。我删除了重新计算EkeyViewLoop行,但它仍然不起作用。我不能不选中“自动重新计算视图循环”复选框,因为它会破坏其他视图的键顺序。所以我在awakeFromNib中以编程的方式进行,但可能已经太晚了……还有什么可以做的呢?我所讨论的代码位于控制器的awakeFromNib中,我将其视图作为子视图添加到窗口的内容视图中。我删除了重新计算EkeyViewLoop行,但它仍然不起作用。我不能不选中“自动重新计算视图循环”复选框,因为它会破坏其他视图的键顺序。所以我在awakeFromNib中以编程方式完成了,但可能已经太晚了……还有什么可以做的呢?