你如何将状态项的标题设为图像而不是文本?

时间:2009-05-10 12:30:47

标签: objective-c cocoa

我已经为我的应用创建了一个状态项(菜单栏项),但目前它的标题是文字,我该如何让它显示图像?

这是设置标题的代码的一部分。我需要更改为该代码才能显示图像?

[item setTitle:@"MenuItem"];

1 个答案:

答案 0 :(得分:8)

您使用setImage:方法,为其提供要在菜单栏上显示的NSImage

另请注意,您可以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目录中。如果您的图像未加载,则表示该文件未正确命名,实际上不是图像,或实际上未在应用程序包中。