Как сохранить фокус на NSStatusItem, пока он не переключится снова

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

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

1 ответ

Решение

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

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

Другие вопросы по тегам