Есть ли способ управлять элементом NSMenuItem, который изначально выделяется при открытии меню?

Я работаю над деталями всплывающей кнопки символов, аналогичен тому, что находится в верхней части окна редактора Xcode 3.

Мой объект контроллера является делегатом NSMenu , который отображается, когда отображается NSPopUpButton . Я использую два метода numberOfItemsInMenu: и menu: updateItem: atIndex: shouldCancel: для заполнения меню прямо перед его отображением.

Однако заголовок и изображение выбранный NSMenuItem должен изменяться каждый раз, когда пользователь изменяет выбор в редакторе NSTextView или вносит изменения в текст; так же, как и в случае с Xcode.

У меня проблема, когда пользователь щелкает NSPopUpButton , чтобы отобразить NSMenu , выбранный NSMenuItem и элемент, который следует выбрать, не совпадают, так как в меню еще нет нужного количества элементов.

Мне интересно, есть ли способ контролировать, какие NSMenuItem изначально выделяется и отслеживается, когда пользователь щелкает, чтобы открыть меню. В его нынешнем виде первый элемент всегда выделяется и отслеживается или, если пользователь ранее выбрал элемент, этот элемент выделяется и отслеживается.

Я попытался объяснить, как мог, но вот изображение, иллюстрирующее мою проблему:

http://imgur.com/izGvh

Я хочу, чтобы выделенный элемент был таким же, как и выбранный элемент, когда пользователь открывает меню. Есть идеи?

12
задан Emre Erkan 4 December 2011 в 01:08
поделиться