У меня есть требование в приложении Mac OS X для пользователя, чтобы иметь возможность вкладки между пунктом наблюдения в одном окне,nextKeyView обходе к NSBrowser и поиска зрения в панели инструментов
- NSSearchField внутри панели
- NSBrowser
- NSCollectionView
- NSCollectionView (второй)
- NSComboBox
, когда пользователь имеет вкладку только между текстовыми полями и списками. По какой-то причине NSBrowser, похоже, не считается списком, а NSSerachField в панели инструментов, похоже, не считается текстовым полем. Но если я сдвигаю вкладку, я могу зайти назад в NSSerachField
Если я изменил вкладку между настройками управления на вкладку между всеми элементами управления, вкладка NSBrowser привязана к табуляции, а также NSSearchField, хотя у меня есть отдельная проблема, а не вкладка из NSSearchField. Я предполагаю, что это означает, что моя цепочка nextKeyView в порядке, или значения nextKeyView полностью игнорируются, когда включена вкладка между всеми элементами управления.
У меня есть следующийKeyViews, установленный в построителе интерфейса.
Есть ли способ заставить Mac OS обрабатывать NSBrowser в качестве списка, я уже являюсь подклассом NSBrowser. И есть ли причина, по которой текстовое поле не может быть включено, если оно находится на панели инструментов.
Дополнительным морщин для этого является то, что NSBrowser и первое NSCollectionView находятся в пределах NSTabView, а второй NSCollectionView также находится в NSTabView, NSTabViews имеют NSTabeViewItems, добавленные и удаленные из них динамически, поэтому содержимое похоже на документы , У меня есть NSTabViews, установленный как nextKeyView, а затем я устанавливаю initialFirstResponder для NSTabViewItems, как только я добавляю их в NSTabView. У меня также есть набор nextKeyView для NSBrowser для перехода к NSCollectionView. И windows initialFirstResponder устанавливается в первый NSTabView.
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ У меня есть autorecalculatesKeyViewLoop для NO. Мне удалось заставить его работать временно, создавая код, создавая следующего ответчика, но потом что-то происходит, и Cocoa идет и меняет все.