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