0

別の 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];
}

これで、ステータス バーにアイコンが表示されます。しかし、アイコンをクリックしても反応がありません。何が間違っている可能性がありますか?

4

1 に答える 1