別の xib ファイルにメニュー リソースを作成し、次のようにサブクラス NSMenu にし、ファイルの所有者を StatusMenu にしました。
@interface StatusMenu : NSMenu
{
@private
IBOutlet NSMenuItem *menuitem1;
IBOutlet NSMenuItem *menuitem2;
}
- (IBAction)action1:(id)sender;
- (IBAction)action2:(id)sender;
- (void)show;
@end
show メソッドは次のように実装されています。
- (void)show
{
NSImage *menuImage = [[NSImage alloc] initWithContentsOfFile: [[NSBundle mainBundle] pathForResource:@"myicon" ofType:@"png"]];
statusItem = [[[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength] retain];
[statusItem setImage:menuImage];
[statusItem setMenu:self];
[statusItem setHighlightMode:YES];
}
次に、次のようにアプリのデリゲートで StatusMenu インスタンスを作成して起動しました
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
statusMenu = [[StatusMenu alloc] init];
statusMenu.user = self.user;
[statusMenu show];
}
これで、ステータス バーにアイコンが表示されます。しかし、アイコンをクリックしても反応がありません。何が間違っている可能性がありますか?