2011-07-21 15 views
5

मैं उद्देश्य-सी और कोको में एक पूर्ण शुरुआत कर रहा हूं।विंडो-कम कोको एप्लिकेशन

मैं एक विंडो-कम एप्लिकेशन बनाना चाहता हूं, जो सिस्टम ट्रे में NSStatusItem दिखाता है। ट्रे ठीक काम करता है, हालांकि, एक समस्या है।

किसी कारण से मेरा एप्लिकेशन स्वचालित रूप से मेरे लिए एक विंडो बनाता है, जो मैं नहीं चाहता।

मैंने सोचा कि यह स्वचालित इंटरफ़ेस बिल्डर टेम्पलेट के कारण हुआ था जब मैंने एक्सकोड में एप्लिकेशन बनाया था, इसलिए मैंने प्रोजेक्ट से .nib फ़ाइल हटा दी। हालांकि खिड़की अभी भी बनाई गई है।

केवल लाइनों उस खिड़की के लिए एक संदर्भ शामिल शीर्षक में कर रहे हैं:

NSWindow *window; 
@property (assign) IBOutlet NSWindow *window; 

और कार्यान्वयन फ़ाइल में:

@synthesize window; 

दोनों स्वचालित रूप से जोड़ा गया था, मैं इस बारे में नहीं था।

मैं ऐप को विंडो बनाने से कैसे रोकूं? मैंने सहित कोड से window पर सभी संदर्भों को हटाने का भी प्रयास किया, लेकिन विंडो अभी भी बनाई गई है।

मेरा अस्थायी फ़िक्स अभी आवेदन में [window close]; पर कॉल करना है, लेकिन निश्चित रूप से एक बेहतर तरीका है?

उत्तर

8

मेरे संदेह है कि अपने कोड में कुछ भी नहीं खिड़की पैदा कर रही है कि "आवेदन केवल पृष्ठभूमि है।" जब आप एक नया कोको एक्सकोड एप्लिकेशन बनाते हैं, तो एक्सकोड आपके लिए आपके इंटरफेस के साथ एक एक्सआईबी सेट करता है। इंटरफ़ेस बिल्डर में MainMenu.xib (संसाधनों के तहत होना चाहिए) खोलें और विंडो को डिलीट करें जो डिफ़ॉल्ट रूप से फेंकता है।

+0

हां, यही मैंने सोचा था। मैंने पूरी .xib फ़ाइल हटा दी है, लेकिन यह अभी भी प्रतीत होता है ... – houbysoft

+0

बस प्रोजेक्ट को फिर से बनाया गया, और इस बार मैंने .xib के अंदर विंडो हटा दी और पूरे xib नहीं और यह काम किया। धन्यवाद .. – houbysoft

+0

ग्रेट। जब आपने XIB को हटा दिया, तो हो सकता है कि मौजूदा ऐप बाइनरी ने इसे हटाए जाने से पहले संकलित XIB को रखा हो। इस तरह XIB अनिवार्य रूप से अभी भी अस्तित्व में था। वैसे भी, यह सुनकर खुशी हुई कि आपको यह पता चला है! –

4

यदि आप एक विंडो नहीं दिखाना चाहते हैं तो आप पृष्ठभूमि में अपना आवेदन चलाने पर विचार कर सकते हैं। इससे खिड़की दिखाई देगी।

आदेश, पृष्ठभूमि में अपने आवेदन को चलाने के लिए सेट YES लिए अपने ऐप की plist फ़ाइल में

+0

मैंने भी कोशिश की। खिड़की अभी भी दिखाई देती है। – houbysoft

0

अपने NSDocument उपclass 'windowNibName विधि में झूठी वापसी करें।

संबंधित मुद्दे