2011-01-21 5 views
14

私はかなり簡単なCocoaアプリケーションを作ろうとしています。私はそれらに3つのメッセージを持つ3つのウィンドウを持っています、それはそこにすべてあります。私は何をしようとしていることはこれです:MenuBarアイコン付きのシンプルなCocoaアプリケーション。の仕方:?

ユーザーがアプリを実行し、アプリのアイコンがメニューバーに表示され、それはその後、何のメニューなしドックアイコン

を起こらないよう、すべてのですが、ユーザーがクリックすることができますメニューバーのアイコンをクリックし、ドロップダウンリストを表示して、利用可能な3つのメッセージから選択します。

私は周りを見回したといくつかのチュートリアルを見つけたが、私は「できてきた私は、それは役に立たないと知っているが、これは文字通り私の最初のアプリケーションであると私はNSStatusItemが正しく動作する取得する方法を見つけ出すことができない...

それらのいずれかに従うように見える...どんな助け? 「何のドックアイコン」についてない

答えて

18
  1. - ファイルをInfo.plistファイルとに設定するブールLSUIElementエントリを追加します。これにより、アプリケーション切り替えユーティリティのUI(cmd +タブ)でアプリケーションが表示されることはありません。
  2. メニューバーのアイコンを追加NSStatusBarNSStatusItemドキュメントに探して、そこにサンプルコードを使用するのと同じくらいである:

// this one is taken from apple documentation 
- (void)activateStatusMenu { 
    NSStatusBar *bar = [NSStatusBar systemStatusBar]; 

    theItem = [bar statusItemWithLength:NSVariableStatusItemLength]; 
    [theItem retain]; 

    [theItem setTitle: NSLocalizedString(@"Tablet",@"")]; 
    [theItem setHighlightMode:YES]; 
    [theItem setMenu:theMenu]; 
} 

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification { 
    [self activateStatusMenu]; 
} 

更新 ARCは、コード内でretainコールを許可していないので、私は、アイテムが作成されているクラスのtheItem__strongとしてインスタンス変数を作成することによって、問題を解決するために管理。

+1

うわー、それは素晴らしいです。私は(私のハンドルが暗示しているように)トータルのココアのnewbです。私はvb.netのバックグラウンドからやって来て、客観的な-c構文で少し苦労しています。私はしかし、リンゴのココアのドキュメントは、非常に "ユーザーフレンドリー"ではないマイクロソフトのVBのドキュメントよりも徹底していることが判明しています。あなたの答えはかなり助けになりました。私はあなたの援助に感謝します。 – Zrb0529

関連する問題