Я работаю над деталями всплывающей кнопки с символами, аналогично тому, как Xcode 3 вверху окна редактора.
Мой объект контроллера является делегатом NSMenu
, который показанкогда отображается NSPopUpButton
.Я реализую два метода numberOfItemsInMenu:
и menu:updateItem:atIndex:shouldCancel:
для заполнения меню непосредственно перед его отображением.
Однако заголовок и изображение выбранного NSMenuItem
должны меняться каждый раз, когда пользователь меняетвыделение в редакторе NSTextView
или внесение изменений в текст;как и в случае с Xcode.
Проблема, с которой я столкнулся, заключается в том, что пользователь нажимает на NSPopUpButton
, чтобы отобразить NSMenu
, выбранный NSMenuItem
и элемент, который должен бытьвыбранные не совпадают, так как в меню еще нет нужного количества элементов.
Мне интересно, есть ли способ контролировать, какой NSMenuItem
изначально подсвечивается и отслеживается, когда пользователь нажимаетоткрыть меню.Как есть, первый элемент, который он всегда выделяет и отслеживает, или, если пользователь ранее выбирал элемент, этот элемент выделяется и отслеживается.
Я попытался объяснить, как мог, но вот изображение, иллюстрирующеемоя проблема:
Я хочу, чтобы выделенный элемент совпадал с выбранным элементом, когда пользователь открывает меню.Есть идеи?