0

我最近重新组织了一个包含大量 NSTextField 的窗口,改为使用单个 NSTabView 以及几个按钮(确定、取消等)。以前,我通过将每个字段的 nextKeyView 设置为指向相应的下一个选项卡来管理字段之间的跳位顺序。我还将以下内容添加到包含所有字段的视图控制器中:

- (void)windowDidLoad {
    [super windowDidLoad];

    MyViewController  *vc = (MyViewController *) self.contentViewController;
    self.window.initialFirstResponder = vc.YearTextField;
}

这真的很棒,我能够按照我在 Interface Builder 中定义的顺序循环浏览所有文本字段。

由于字段仍在 MyViewController 中,但现在分布在 NSTabView 的六个选项卡之间,选项卡顺序又回到了 Cocoa 奇怪的从左到右的选项卡算法。

我确实为每个文本字段重置了 nextKeyView,从每个选项卡上的第一个字段开始,链接到每个后续字段,然后将最后一个字段的 nextKeyView 设置回该选项卡上的第一个字段。但是,我怀疑在加载 View Controller 时已经设置了 initialFirstResponder (如上)。

我应该在哪里/如何管理 initialFirstResponder 以便我的 NSTabView 中的每个选项卡的字段选项卡顺序都是正确的?

谢谢!

4

0 回答 0