Frage

Ich habe eine benutzerdefinierte Symboldatei (MyApp.icns) für meine Cocoa App einrichten. Wie kann ich auf eine NSImage Darstellung des Symbols aus meiner Anwendung?

So etwas wie die folgenden wäre perfekt:

NSImage * iconImage = [MyApplication defaultIconAsImage];

Aber ich bin sicher, es ist nicht , die einfach:)

Ich kann natürlich, einen Pfad zu der Symboldatei erhalten wie folgt:

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

Aber es scheint mir, dass es irgendeine Art von Standard Weg, um Zugang zu sein die Icon-Datei für die Anwendung, anders als es beim Namen nennen, da der Name ändern könnte.

Was ist der richtige Weg, dies zu tun?

War es hilfreich?

Andere Tipps

Nur der Vollständigkeit halber -. Dies ist, wie Sie das Symbol für jede Anwendung oder Datei auf Ihrem System erhalten

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

Pass auf dem Weg zum Anwendungspaket für ein Anwendungssymbol oder den Pfad zu einer Datei für das Symbol mit der Datei verknüpft.

Beachten Sie, dass -[NSApplication applicationIconImage] nicht das richtige Symbol zurückkehrt, wenn ein benutzerdefiniertes Symbol auf die App eingefügt wird. Dann müssen Sie tun:

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

(Referenz des Dock-Symbol Code, den ich für Chromium schrieb: http: //src.chromium.org/svn/trunk/src/chrome/browser/ui/cocoa/dock_icon.mm )

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top