2012-02-05 8 views
4

В приложении OS X, какова техника отображения NSPopover, когда мышь находится над NSMenuItem (например, в прожекторах).NSMenuItem и NSPopOver

Большое спасибо !!! Christopjhe

ответ

-1

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

Добавьте это в statusItem

метода
self.statusItem.action = @selector(clickStatusBar:); 

Добавить похожее на это, чтобы сделать поповер появляется

- (void)clickStatusBar:(id)sender { 
    [[self popover] showRelativeToRect:[sender bounds] ofView:sender preferredEdge:NSMinYEdge]; 
} 
+0

У меня нет кода для отображения, так как я не знаю, как сделать код, который;) Но спасибо за ответ, я попробую это, и если ti работает, я буду обновлять для некоторой мыши вместо щелчка. –

+0

@ChristopheHAMERLING Вот два учебных видеоролика, которые помогут вам начать работу: создайте приложение MenuBar - http://youtu.be/HRPMFNDcfLY Создайте NSPopover - http://youtu.be/P3uehLU67cg – wigging

+0

, это не сработает, потому что отправитель будет быть NSMenuItem и NSMenuItems не имеют границ. Это сбой. – SpaceDog

4

Я знаю, это было какое-то время, но если вы все еще не нашли решения:

Зарегистрируйте свой класс как NSMenuDelegate в меню, которое содержит NSMenuItem, а затем установить

- (void)menu:(NSMenu *)menu willHighlightItem:(NSMenuItem *)item; 

затем показать popover при вызове этого метода.

+1

и как указывать popover на пункт меню, если NSMenuItem не имеет границ и нет представления? Я новичок в разработке OSX. Если вы можете показать какой-то код, я ценю. Благодарю. – SpaceDog