我为我的 Cocoa 应用程序设置了一个自定义图标文件 (MyApp.icns)。我怎样才能访问 NSImage 我的应用程序中图标的表示形式?

像下面这样的东西就完美了:

NSImage * iconImage = [MyApplication defaultIconAsImage];

但我确信不是 简单的 :)

当然,我可以获取图标文件的路径,如下所示:

NSString * iconPath = [[NSBundle mainBundle]
                       pathForResource:@"MyApp" ofType:@"icns"];

但在我看来,应该有某种标准的方式来访问 应用程序的图标文件,而不是通过名称调用它,因为名称可能会更改。

执行此操作的正确方法是什么?

有帮助吗?

其他提示

只是为了完整性 - 这是你如何让你的系统上的任何应用程序或文件的图标

NSImage *iconImage = [[NSWorkspace sharedWorkspace] iconForFile:@"path"];
在路径

传递到应用程序包为应用程序图标或路径与所述文件相关联的图标的文件。

请注意-[NSApplication applicationIconImage]当自定义图标被粘贴到的应用程序不返回正确的图标。然后,你需要做的:

NSString* appPath = [[NSBundle mainBundle] bundlePath];
NSImage* appIcon = [[NSWorkspace sharedWorkspace] iconForFile:appPath];

(参考停靠图标代码我写为铬: HTTP: //src.chromium.org/svn/trunk/src/chrome/browser/ui/cocoa/dock_icon.mm

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top