2009-05-10 8 views
1

私のアプリケーション用のステータス項目(メニューバー項目)を作成しましたが、タイトルはテキストですが、どうすれば画像を表示できますか?ステータス項目のタイトルをテキストではなくイメージにする方法はありますか?

これは、タイトルを設定するコードの一部です。イメージを表示するために、そのコードに変更する必要がありますか?あなたは、メニューバーに表示するNSImageでそれを供給、setImage:メソッドを使用し

[item setTitle:@"MenuItem"]; 

答えて

8

NSStatusItemには、のテキスト(例:バッテリーインジケータ)が表示されます。ここで

OtherImage.jpgという名前のファイルに画像を設定する小さな例です。

NSImage *statusItemImage = [NSImage imageNamed:@"OtherImage"]; 
if(!statusItemImage) { 
    NSLog(@"ERROR: Could not load the image for 'OtherImage.png'"); 
} else { 
    [item setImage:statusItemImage]; 
} 

ファイルOtherImage.pngが実際にXcodeプロジェクトに追加し、アプリケーションのResourcesディレクトリにコピーされていることを確認します。イメージが読み込まれない場合は、ファイルが実際にはイメージではなく、実際にはアプリケーションバンドルに名前が付けられていないことを意味します。

+0

ああ私はsetTitle:@ "MenuItem"をsetImage:(NSImage *)に置き換えますが、どこに画像の位置を入力しますか? – Joshua

+2

イメージを最初に読み込みます。あなたはNSImage * statImage = [NSImage imageNamed:@ "MyStatusImage"]のようなものを使うことができます。 MyStatusImage.pngなど、実際にアプリケーションのresourcesフォルダにあるものを確認してください。 –

+0

NSImage * statImage = [NSImage imageNamed:@ "MyStatusImage"]; ? – Joshua

関連する問題