2012-01-06 15 views
5

के लिए पोट्रेट और लैंडस्केप मोड के लिए अलग-अलग ज़िब Ipad के लिए ओरिएंटेशन पर बदल रहे एक वर्ग के लिए 2 XIb का उपयोग करने में मुझे संदेह है। क्या यह सही अभ्यास करने का अभ्यास करता है। पोर्ट्रेट मोड में आईपैड के लिए मेरे पास एक डिज़ाइन है और लैंडस्केप मोड के लिए मेरे पास अलग-अलग डिज़ाइन हैं (पॉट्रेट के समान थोड़ा, लेकिन पॉट्रेट में नहीं है)। क्या मैं प्रोग्रामिंग में सबकुछ करता हूं या 2 एक्सब का उपयोग करने में जुर्माना करता हूं, जटिलताओं क्या हैं या मुद्दों को मुझे 2 ज़िब का उपयोग करने में सामना करना चाहिए?आईपैड

उत्तर

2

आप एक ही एक्सआईबी का उपयोग कर सकते हैं, लेकिन दो अलग-अलग विचार हैं, एक पोर्ट्रेट के लिए और एक परिदृश्य के लिए। "DidRotateFromInterfaceOrientation:" में, अभिविन्यास के आधार पर विचारों को स्विच करें। यह कैसे किया जा सकता है के रूप में नीचे दिए गए लिंक की जाँच करें:

http://www.theappcodeblog.com/2011/03/30/orientation-change-tutorial-change-the-view-when-the-orientation-changes/

+0

तर्कसंगत रूप से यह संभव नहीं है। यदि आप ऐसा करना चाहते हैं तो आपको प्रोटोकॉल और परिदृश्य के लिए XIB में प्रत्येक नियंत्रक के लिए दो ऑब्जेक्ट बनाए रखने की आवश्यकता है ... –

+0

??? यह क्यों संभव नहीं है? यह कई अनुप्रयोगों में किया गया है। बस दिए गए लिंक के माध्यम से जाओ। हमारे पास दो UIVIEW ऑब्जेक्ट्स, एक सिंगल एक्सआईबी और सिंगल कंट्रोलर होगा। –

+0

मैंने पहले से ही बताया है कि आपको XIB में प्रत्येक नियंत्रक के लिए दो ऑब्जेक्ट की आवश्यकता है और उपरोक्त लिंक में आपके नमूने में भी वही काम कर रहा है जैसा मैं कहता हूं। अब सोचा कि क्या नियंत्रक के पास कई बटन और अन्य नियंत्रक हैं। यही कारण है कि मैंने तर्कसंगतता से कहा कि इस तरह से एकीकृत करना अच्छा नहीं है। –

8

आप अगर अपने झुकाव के लिए दो महत्वपूर्ण व्यक्ति का उपयोग कर पूछ रहे हैं तो जवाब नहीं है मानक अभ्यास है।

यदि आपके यूआई परिदृश्य और चित्र के लिए मूल रूप से हैं तो यह एक और स्वीकार्य दृष्टिकोण होगा। लेकिन आप आसानी से इसके अंदर दो विचारों के साथ एक ही एनआईबी का उपयोग कर सकते हैं (एक लैंडस्केप के लिए, एक पोर्ट्रेट के लिए) इसके बजाए।

ऐप्पल ने आगे स्वीकृत डिज़ाइन पैटर्न को देखा है, आपका व्यू कंट्रोलर लैंडस्केप और पोर्ट्रेट ओरिएंटेशन दोनों का प्रबंधन करता है, और या तो इसके दृश्य को समायोजित करता है (ऑटोरेसाइजिंग मास्क का उपयोग करके, और रोटेशन पर ट्रिगर किए गए विभिन्न प्रतिनिधि तरीकों में भी शामिल/जोड़ने/एनिमेट करने के लिए विचार) या दृश्य को किसी और चीज़ से बदल देता है।

यदि आपका परिदृश्य/चित्र दृश्य काफी अलग है तो मैं इसके अंदर दो विचारों (एक परिदृश्य के लिए, एक चित्र के लिए) के साथ एक एकल एनआईबी रखने की सलाह दूंगा और जब आप घूर्णन का पता लगाते हैं तो अपने दृश्य नियंत्रक के अंदर उन दो दृश्यों को जोड़ना/हटा देना ।

'मानक अभ्यास' हमेशा परिभाषित करना मुश्किल होता है, और शायद कुछ लोग मुझसे असहमत होंगे, लेकिन मैंने निश्चित रूप से कोई भी ऐप नहीं देखा है जो दो एनआईबी का उपयोग अपने परिदृश्य/चित्र उन्मुखताओं के लिए करता है, और मैंने नहीं देखा है कोई भी ऐप्पल नमूना कोड जो इसे करता है। उम्मीद है की यह मदद करेगा!

3

यह प्रोग्रामिंग प्राप्ति की जटिलता पर निर्भर करता है। यदि आपको बटन को प्रतिस्थापित करने की आवश्यकता है, तो आपको प्रोग्राम को फ्रेम रूप से बदलना चाहिए। यदि पोर्ट्रेट और लैंडस्केप मोड में डिज़ाइन अलग हैं, तो आपको 2 xib फ़ाइलों का उपयोग करना चाहिए।

2 xib का उपयोग करके, एक xib से दूसरे में जानकारी परिवहन करना मुश्किल है। जैसे यदि xib में टेक्स्ट फ़ील्ड है तो आपको इसमें टेक्स्ट कॉपी करना होगा और दूसरे xib और आदि में डाल देना चाहिए

+0

सभी को उनके महान सुझावों के लिए धन्यवाद !! यह एक दृष्टिकोण में 2 विचारों का उपयोग करके अच्छा है, इस दृष्टिकोण के साथ जा रहा है – gopal