У меня есть приложение, которому нужно прочитать кучу данных из внешнего файла и отобразить его как NSPopUpButton
в пользовательском интерфейсе Cocoa. Загвоздка здесь в том, что данные, которые считываются, должны иметь флаг, указывающий, считаются ли они «скрытыми» или нет.
Если данные скрыты, их нужно добавить в NSPopUpButton
как NSMenuItem
, но флаг hidden
нужно установить на YES
, чтобы он обычно не отображался в меню NSPopUpButton
. Если пользователь удерживает «волшебную клавишу» на своей клавиатуре (в данном случае обычно ALT), то эти скрытые объекты необходимо отобразить. Если пользователь отпускает клавишу ALT, то они должны быть автоматически повторно скрыты, за исключением того, который мог быть выбран — который стал бы скрытым, если бы был выбран другой NSMenuItem
.
На самом деле у меня чертовски много времени, чтобы понять это.
Мне было интересно, есть ли прямой способ сделать это, используя NSArrayController
и NSPopUpButton
, но до сих пор я не смог найти ничего похожего на решение - не когда дело доходит до управления скрытым свойством объектов NSMenuItem
.
Кто-нибудь знает, как этого можно добиться с помощью Cocoa Bindings?