J'ai un objet de menu Interface Builder NSMenu. J'ai ajouté ma classe personnalisée "StatusBarMenu".Le délégué NSMenu ne déclenche pas menuWillOpen
Le fichier StatusBarMenu.h
ressemble à ceci:
@interface StatusBarMenu : NSMenu <NSMenuDelegate>
Le fichier StatusBarMenu.c
ressemble à ceci:
- (void)menuWillOpen:(NSMenu *)menu {
`NSLog(@"open");`
}
Le menu est attribué dans le AppDelegate.c
comme suit:
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
self.statusBar = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];
self.statusBar.highlightMode = YES;
[self.statusBar setMenu:self.statusMenu];
}
Et le AppDelegate.h
:
#import <Cocoa/Cocoa.h>
#import "StatusBarMenu.h"
@interface AppDelegate : NSObject <NSApplicationDelegate>
@property (strong, nonatomic) NSStatusItem *statusBar;
@property (weak) IBOutlet StatusBarMenu *statusMenu;
Le menu s'ouvre, mais menuWillOpen n'est pas appelé. Ai-je raté quelque chose?
J'apprécie toute aide! Merci.
Merci pour la réponse rapide et utile. Cela a fait l'affaire! –