Я недавно реорганизовал окно, которое содержало большое количество полей NSTextFields, чтобы вместо этого использовать один NSTabView вместе с парой кнопок pu sh (OK, Cancel, et c). Ранее я управлял порядком табуляции между полями, устанавливая nextKeyView каждого поля так, чтобы оно указывало на соответствующую следующую вкладку. Я также добавил следующее в View Controller, содержащий все поля:
- (void)windowDidLoad {
[super windowDidLoad];
MyViewController *vc = (MyViewController *) self.contentViewController;
self.window.initialFirstResponder = vc.YearTextField;
}
Это сработало очень хорошо, и я смог перебрать все текстовые поля в порядке, который я определил в Интерфейсном Разработчике .
Поскольку поля все еще находятся в MyViewController, но теперь распределены между полудюжиной вкладок NSTabView, порядок вкладок возвращается к странному алгоритму какао слева направо.
Я сделал сбросьте nextKeyView для каждого текстового поля, начиная с первого поля на каждой вкладке, связывая его с каждым последующим полем, затем устанавливая nextKeyView для последнего поля обратно к первому полю на этой вкладке. Я подозреваю, однако, что что-то должно измениться с initialFirstResponder, который (как указано выше) был настроен при загрузке View Controller.
Где / Как я должен управлять initialFirstResponder, чтобы порядок вкладок поля был правильным для каждая вкладка в моем NSTabView?
Спасибо!