2012-10-28 14 views
7

Ich entwickle eine Anwendung für Mac OS X in Xcode, und ich versuche, eine Schaltfläche zu implementieren, die ein Bild im Quicklook-Modus öffnet (wie wenn Sie ein Bild im Finder auswählen und drücken <Raum>).Programmatisch quicklook Bilder in Mac OS X

Ich möchte, dass dies wie Skype für Mac funktioniert, wenn Sie auf das kleine runde "Augen" -Symbol neben einer Datei klicken, die während eines Chats heruntergeladen wurde.

Haben Sie Ratschläge, wie Sie dies erreichen können?

+0

Google-Suche führte mich zu Apple-Leitfaden, wie dies genau zu tun -https: //developer.apple.com/library/mac/#documentation/UserExperience/Conceptual/Quicklook_Programming_Guide/Introduction/Introduction.html –

+1

Hallo Justin. Ich bin selbst auf dieses Dokument gestoßen, aber es scheint meine Frage nicht zu beantworten. Es sieht so aus, als ob im gesamten Dokument Quick-Look-Generatoren implementiert werden. Für alle gängigen Bildtypen gibt es bereits Generatoren. Was ich tun möchte, ist nicht, einen Generator zu implementieren, sondern einen Quick-Look-Generator aus meiner App heraus aufzurufen, anstatt über den Finder. – bgh

+0

Es beschreibt, wie das Vorschaubild aus einer Datei generiert wird, als Sie es in Ihrer eigenen Ansicht platzieren würden. Recht? vielleicht fehlt mir etwas –

Antwort

24

Nachdem ich diese Frage erneut gestellt hatte, stieß ich auf eine Ressource, die mich in die richtige Richtung zur Lösung des Problems führte.

Apple's Quick Look Programming Guide scheint sehr auf die Implementierung von Generatoren konzentriert zu sein, was nicht mein Interesse war. Dieses Dokument scheint keinen Abschnitt zu haben, der erklärt, wie man eine QuickLook-Vorschau von innerhalb Ihrer App anzeigt. Ich stieß jedoch auf ein Beispielprojekt (QuickLookDownloader), das sehr schön illustriert, wie es gemacht wird.

Sie verwenden grundsätzlich das gemeinsame QLPreviewPanel-Objekt der Anwendung. Sie machen das QLPreviewPanel zum Schlüsselfenster, indem Sie seine makeKeyAndOrderFront: -Methode aufrufen. Sie akzeptieren (und freigeben) dann das QLPreviewPanel über die Methoden des QLPreviewPanelController-Protokolls. Diese Methoden werden für das erste Objekt in der Responderkette aufgerufen, das darauf antwortet, wenn QLPreviewPanel der Schlüssel wird. Sie müssen außerdem die Protokolle QLPreviewPanelDataSource und QLPreviewPanelDelegate implementieren und die Delegaten dem QLPreviewPanel zuweisen.

Es gibt ein paar Schritte, die unternommen werden müssen, aber das Beispiel QuickLookDownloader Projekt zeigt es schön.