Вкладка между полями NSTabView - PullRequest
0 голосов
/ 24 марта 2020

Я недавно реорганизовал окно, которое содержало большое количество полей 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?

Спасибо!

...