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