13

Cocoaアプリ用にカスタムアイコンファイル(MyApp.icns)を設定しています。NSImageアプリケーション内からアイコンの表現にアクセスするにはどうすればよいですか?

次のようなものが最適です。

NSImage * iconImage = [MyApplication defaultIconAsImage];

しかし、それはそれほど簡単ではないと確信しています:)

もちろん、次のようにアイコンファイルへのパスを取得できます。

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

しかし、名前が変わる可能性があるため、名前で呼び出す以外に、アプリケーションアイコンファイルにアクセスするための何らかの標準的な方法があるはずだと私には思えます。

これを行うための適切な方法は何ですか?

4

3 に答える 3

41

[NSApp applicationIconImage]

于 2009-08-31T19:46:44.993 に答える
19

完全を期すために-これは、システム上の任意のアプリケーションまたはファイルのアイコンを取得する方法です。

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

アプリケーションアイコンのアプリケーションバンドルへのパス、またはファイルに関連付けられているアイコンのファイルへのパスを渡します。

于 2009-09-02T09:15:33.673 に答える
8

-[NSApplication applicationIconImage]カスタムアイコンをアプリに貼り付けると、正しいアイコンが返されないことに注意してください。次に、次のことを行う必要があります。

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

(Chromium用に作成したドックアイコンコードを参照してください:http ://src.chromium.org/svn/trunk/src/chrome/browser/ui/cocoa/dock_icon.mm )

于 2011-09-03T02:09:18.817 に答える