2012-10-28 15 views
7

में प्रोग्रामेटिक रूप से त्वरित दृश्य छवियां मैं एक्सकोड में मैक ओएस एक्स के लिए एक एप्लीकेशन विकसित कर रहा हूं, और मैं एक बटन को कार्यान्वित करने की कोशिश कर रहा हूं जो Quicklook मोड में एक छवि खोलता है (जैसे कि जब आप खोजक में एक छवि चुनते हैं और दबाते हैं < स्पेस >)।मैक ओएस एक्स

मैक स्काइप फॉर मैक की तरह काम करना चाहता हूं जब आप चैट के दौरान डाउनलोड की गई फ़ाइल के बगल में छोटे दौर "आंख" आइकन पर क्लिक करते हैं।

इसे प्राप्त करने के तरीके पर कोई सलाह?

+0

Google खोज ने मुझे यह कैसे करने के लिए एप्पल गाइड का नेतृत्व किया- //developer.apple.com/library/mac/#documentation/UserExperience/Conceptual/Quicklook_Programming_Guide/Introduction/Introduction.html –

+1

हाय जस्टिन। मैं खुद उस दस्तावेज़ में आया, लेकिन ऐसा लगता है कि यह मेरे प्रश्न का उत्तर नहीं देता है। ऐसा लगता है कि पूरा दस्तावेज़ त्वरित देखो जेनरेटर को लागू करने के बारे में है। सभी सामान्य छवि प्रकारों के लिए पहले ही जेनरेटर हैं। मैं जो करना चाहता हूं वह जनरेटर को लागू नहीं करना है, लेकिन खोजक के बजाय, मेरे ऐप के अंदर से एक त्वरित लुक जनरेटर का आह्वान करना है। – bgh

+0

यह वर्णन करता है कि फ़ाइल से पूर्वावलोकन छवि कैसे उत्पन्न करें, आप इसे अपने स्वयं के दृश्य में रखेंगे। सही? शायद मुझे कुछ –

उत्तर

24

इस प्रश्न पर फिर से विचार करने के बाद, मैं अंततः एक संसाधन में आया जिसने मुझे समस्या को हल करने के लिए सही दिशा में नेतृत्व किया।

Apple's Quick Look Programming Guide जनरेटर के कार्यान्वयन पर बहुत ध्यान केंद्रित प्रतीत होता है, जो कि मुझे रूचि नहीं थी। इस दस्तावेज़ में ऐसा कोई प्रतीत नहीं होता है जो आपके ऐप के अंदर से क्विकलुक पूर्वावलोकन को प्रदर्शित करने का तरीका बताता है। हालांकि, मैं एक उदाहरण परियोजना (QuickLookDownloader) में आया था जो बहुत अच्छी तरह से दिखाता है कि यह कैसे किया जाता है।

आप मूल रूप से एप्लिकेशन के साझा QLPreviewPanel ऑब्जेक्ट का उपयोग करते हैं। आप QLPreview अपने makeKeyAndOrderFront: विधि को कॉल करके कुंजी विंडो को खोलें। फिर आप QLPreviewPanelController प्रोटोकॉल के तरीकों के माध्यम से QLPreviewPanel को स्वीकार (और रिलीज़) करते हैं। इन तरीकों को उत्तरदाता श्रृंखला पर पहली वस्तु पर बुलाया जाता है जो QLPreviewPanel कुंजी बनने पर इसका जवाब देता है। आपको QLPreviewPanelDataSource और QLPreviewPanelDelegate प्रोटोकॉल को भी लागू करना होगा और प्रतिनिधियों को QLPreviewPanel को असाइन करना होगा।

कुछ कदम उठाए जाने की आवश्यकता है, लेकिन उदाहरण QuickLookDownloader प्रोजेक्ट इसे अच्छी तरह से दिखाता है।