2015-10-15 2 views
0

Я создаю приложение со строкой состояния, я использую NSPopover для отображения сверху. Код, чтобы сделать это выглядит следующим образом:Альтернатива NSStatusItem.button (NSStatusBarButton) OSX 10.9

popover.showRelativeToRect(button.bounds, ofView: button, preferredEdge: NSRectEdge.MinY)

Я хочу сделать такую ​​же функциональность в OSX 10.9. Кнопка недоступна < 10.10. Я посмотрел на источник, и я вижу, что большинство необходимых мне атрибутов, мне просто нужен способ эмулировать границы кнопок и просматривать - на этом этапе. Как можно это сделать?

Предложения для полной замены NSStatusItem.button также очень полезны.

+0

Могу ли я спросить, почему я получаю вниз проголосовали? – jQwierdy

ответ

0

В Mavericks используется устаревшая реализация NSStatusItem.

Это интерфейс:

@interface NSStatusItem (NSStatusItemDeprecated) 

/* 
These are softly deprecated methods of NSStatusItem. 
Their past and current behavior is to forward their calls onto the button property. 
They will be formally deprecated in a later release. 
*/ 
@property (nullable) SEL action; 
@property (nullable) SEL doubleAction; 
@property (nullable, weak) id target; 
@property (nullable, copy) NSString *title; 
@property (nullable, copy) NSAttributedString *attributedTitle; 
@property (nullable, strong) NSImage *image; 
@property (nullable, strong) NSImage *alternateImage; 
@property (getter=isEnabled) BOOL enabled; 
@property BOOL highlightMode; 
@property (nullable, copy) NSString *toolTip; 
- (NSInteger)sendActionOn:(NSInteger)mask; 

/* 
Custom views should not be set on a status item. 
The button property with a template image will allow proper styling of the status item in various states and contexts and should be used instead. 
*/ 
@property (nullable, strong) NSView *view; 
- (void)drawStatusBarBackgroundInRect:(NSRect)rect withHighlight:(BOOL)highlight; 
- (void)popUpStatusItemMenu:(NSMenu*)menu; 

@end 
Смежные вопросы