在Cocoa应用程序中设置自定义Tab键顺序

时间:2011-05-13 21:31:50

标签: cocoa interface-builder tabbing

我有一个包含两列字段的窗口。左侧是NSTableViewNSTokenField,右侧有两个NSTextField。我希望标签顺序向左下方,然后向右下方。 (因此,我的窗口中的订单应为NSTableViewNSTokenFieldNSTextFieldNSTextField。)然而,Cocoa似乎正在确定自己的首选订单,从顶部开始至底部。 NSTokenField位于窗口下方的位置低于任何其他控件,因此它始终会从NSTableView标签到右侧NSTextField,然后再返回到左下角NSTokenField

我已尝试按照名为Enable Tabbing Between Text Fields的Apple开发人员文档的这一部分,并按照我想要的顺序在Interface Builder之间拖动nextKeyView。这似乎对Tab键顺序绝对没有影响,从我可以看出,Cocoa似乎仍然使用其默认检测方法来选择Tab键顺序。

有什么想法吗?我的目标是10.6 +。

2 个答案:

答案 0 :(得分:3)

确保您还将窗口的initialFirstResponder插座设置为第一个字段(本例中为表格视图)。

答案 1 :(得分:0)

听起来你必须以编程方式去做:
注册controlTextDidEndEditing通知,按标记标识字段,然后在窗口中调用makeFirstResponder:fieldOfYourChoice。和/或在字段上使用IBAction,按sender标识,然后致电makeFirstResponder