Как сохранить фокус на NSStatusItem, пока он не переключится снова - PullRequest
3 голосов
/ 01 июля 2011

Я создаю приложение, использующее NSStatusItem.Я хочу, чтобы мой NSStatusItem открывался при нажатии и оставался открытым до тех пор, пока пользователь снова не щелкнет NSStatusItem.На данный момент он открывает меню, но NSStatusItem теряет фокус, когда я щелкаю по нему или нажимаю на другое приложение.Я бы хотел, чтобы меню NSStatusItem оставалось открытым, пока пользователь не щелкнет, чтобы закрыть его.Вот мой код пока только для создания NSStatusItem.Спасибо

-(void)awakeFromNib{
    statusItem = [[[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength] retain];
    [statusItem setMenu:statusMenu];
    [statusItem setTitle:@"Status"];
    [statusItem setHighlightMode:YES];
}

1 Ответ

1 голос
/ 01 июля 2011

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

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

...