Автоматическое включение меню не работает с NSTabView - PullRequest
0 голосов
/ 11 ноября 2011

У меня есть todo-приложение с NSTabView с четырьмя NSTabViewItems.Каждое представление вкладки имеет представление с соответствующим контроллером представления в отдельных nib-файлах.Я установил в качестве владельца файла каждого пера контроллер представления, а выходы представления - в соответствующие им представления.

Я установил контроллеры представления в цепочке респондента после его представления, а также установил контроллеры представления.nextResponder, поэтому цепочка респондента не повреждена.Я связал пункты меню «Правка» с действиями первого ответчика.Проблема в том, что когда приложение запускается с первой выбранной вкладкой, все пункты меню «Правка» включаются и работают нормально.Но если я переключаюсь на другой элемент вкладки и затем возвращаюсь к первому элементу вкладки, все элементы меню редактирования отключаются, и ничто из того, что я делаю, не может сделать их снова включенными.Есть идеи, что происходит?

1 Ответ

0 голосов
/ 07 декабря 2011

Ответ на мою проблему состоит в том, что цепочка респондента остается неизменной после запуска (View -> MyViewController -> NextResponder), и, таким образом, пункты меню работают как положено. Но когда я меняю вкладки в NSTabView, представление вкладок будет вставлять соответствующий NSTabViewItem.view в цепочку респондента, создавая View -> NextResponder, и поэтому MyController останется вне цепочки, а команды меню больше не будут работать. Другими словами, NSTabView сбрасывает nextResponder своего представления при смене вкладок, оставляя контроллер вне цепочки респондента.

Я просто сделал свои контроллеры подклассом NSView и установил их в качестве представления каждого NSTabViewItem. Теперь все отлично работает.

...