8

私はココアにかなり慣れていないので、私が犯す愚かな間違いを許してください. メニューを開くために使用したい NSStatusItem があります。ただし、私が知っている限り、さまざまなフォームで聞いたことがありますが、カスタム ビューがないと、ポップアップ メニューだけに制限されます。これは本当ですか?もしそうなら、何かをするためのカスタムビューをどのように作成しますか(私の場合はウィンドウを開くなど)?助けてくれてありがとう。

4

1 に答える 1

15

いいえ、そうではありません。ステータス項目のターゲットとアクションを設定して、必要なことを行うメソッドを呼び出す必要があります (ウィンドウが開きます)。

// This goes where you set up the status item
NSStatusItem *statusItem; // You need to get this from the status bar
[statusItem setTarget:self];
[statusItem setAction:@selector(openWindow:)];

// This method is called when the status item is clicked
- (void)openWindow:(id)sender {
    NSWindow *window = [self window]; // Get the window to open
    [window makeKeyAndOrderFront:nil];
}

[NSApp activateIgnoringOtherApps:nil];openWindow: メソッドを呼び出して、開いているウィンドウが他のアプリケーションのウィンドウの背後にないことを確認することもできます。

于 2011-03-26T19:58:39.393 に答える