2015-10-05 14 views
6

का उपयोग कर मुझे क्या

मैं सभी नियमित हाइट्स के लिए खड़ी व्यवस्था बराबर ऊंचाई की दो दृश्य करना चाहते हैं प्राप्त करने के लिए कोशिश कर रहा हूँ wAny Hany के लिए याद आ रही/परस्पर विरोधी प्रतिबन्ध ठीक करने के लिए। हालांकि, कॉम्पैक्ट हाइट्स के लिए मैं विचारों को क्षैतिज रूप से व्यवस्थित करना चाहता हूं। यह निम्न छवि में दर्शाया गया है:कैसे जब विभिन्न आकार वर्ग

enter image description here

ऐसा करने के लिए, मैं wAny-hany आकार वर्ग है कि सब कुछ करने के लिए लागू में सामान्य कमी गयी। फिर मैंने WAny-hRegular और wAny-hCompact आकार वर्गों के लिए विशिष्ट बाधाओं को जोड़ा। यह WAny-hRegular और wAny-hCompact (और सिम्युलेटर में ऐप का परीक्षण करने के लिए) के लिए ठीक काम करता है, लेकिन यह मुझे wany-hany में लापता बाधाओं के साथ छोड़ दिया। यदि मैं उन लापता बाधाओं को wany-hany में जोड़ता हूं तो मुझे या तो wany-hRegular या wAny-hCompact में विरोधाभासी बाधाएं मिलती हैं। मुझे नहीं पता कि त्रुटियों से कैसे छुटकारा पाना है।

नीचे मैंने जो किया है उसके बारे में एक और विस्तृत स्पष्टीकरण नीचे दिया गया है।

मैं इसे कैसे

मैं कुछ है कि निम्न चरणों का पालन करने से सिम्युलेटर में काम करता है प्राप्त करने में सक्षम था करने के लिए प्रयास किया।

wAny Hany

enter image description here

के लिए किसी भी चौड़ाई किसी भी ऊंचाई मैं निम्नलिखित 4 की कमी सेट:

enter image description here

है कि, मैं शीर्ष पर नीले और छोड़ दिया पिन किए गए और मैंने दाएं और नीचे लाल रंग दिया। कोई फर्क नहीं पड़ता कि आकार वर्ग का उपयोग किया जाता है, इन बाधाओं की हमेशा आवश्यकता होती है।

wAny hRegular

enter image description here

किसी भी चौड़ाई नियमित ऊंचाई के लिए मैं निम्नलिखित 4 की कमी कहा:

enter image description here

है कि, मैं सही करने के लिए और नीले से लाल पिन किए गए छोडा। मैंने नीले के निचले किनारे पर लाल के शीर्ष किनारे को भी पिन किया। और मैंने लाल और नीले बराबर ऊंचाई बनाई। यह नियमित ऊंचाई के लिए सभी बाधा मुद्दों को हल करता है।

enter image description here

है कि, मैं नीचे और करने के लिए नीले से लाल पिन किए गए:

wAny hCompact

enter image description here

किसी भी चौड़ाई कॉम्पैक्ट ऊंचाई के लिए मैं निम्नलिखित 4 की कमी जोड़ा चोटी। मैंने नीले रंग के बाएं किनारे पर लाल के दाएं किनारे को भी पिन किया। और मैंने लाल और नीले बराबर चौड़ाई बनाई। यह कॉम्पैक्ट ऊंचाई के लिए सभी बाधाओं का ख्याल रखता है।

समस्या

ऊपर सेटअप सब कुछ के साथ

के रूप में यह स्टोरीबोर्ड पूर्वावलोकन (ऊपर पहली छवि देखें) में और सभी आकार है कि मैं परीक्षण किया है के लिए सिम्युलेटर में होना चाहिए काम करता है।

हालांकि, इंटरफ़ेस बिल्डर में मैं wAny Hany आकार कक्षा के लिए निम्नलिखित गुम बाधा त्रुटियों हो रही है:

enter image description here

यह एक पकड़ने -22 का एक सा है, क्योंकि अगर मैं जोड़ने की कोशिश लापता बाधाएं तो मैं नियमित या कॉम्पैक्ट आकार कक्षा की बाधाओं के साथ विरोधाभासी बाधा उत्पन्न करता हूं।

enter image description here

मैं इस समस्या को कैसे हल करते हैं: यहाँ एक उदाहरण के रूप में कॉम्पैक्ट है?

उत्तर

5

मुझे लगता है कि आपको केवल wAny-hCompact आकार वर्गों के लिए विशिष्ट बाधाओं को जोड़ने की आवश्यकता है। और सुनिश्चित करें कि विशेष बाधाएं सही ढंग से स्थापित हैं।

नीचे दी गई छवि देखें।

enter image description here

+1

आप सही हैं। मुझे केवल किसी भी एनी में सभी बाधाओं को स्थापित करने की आवश्यकता है, फिर किसी भी कॉम्पैक्ट में विशेष बाधाएं जोड़ें। उसके बाद मैं AnyCompact में विरोधाभासी बाधाओं को अनइंस्टॉल करता हूं। अनइंस्टॉल करने की बाधाओं के लिए, मुझे अक्षय सांडवानी के जवाब (यानी, प्रलेखन) और अधिक पढ़ना पड़ा। मैं बस 'इंस्टॉल' अनचेक नहीं कर सका क्योंकि यह हर आकार वर्ग के लिए इसे अनइंस्टॉल करेगा। मुझे बाधा निरीक्षक में विशिष्ट आकार वर्ग (AnyCompact) जोड़ना था और फिर इसे अनइंस्टॉल करना था। – Suragch

4

ऐसा इसलिए है क्योंकि दो अलग-अलग आकार वर्गों में एकल दृश्य के लिए दो अलग-अलग प्रकार की बाधाएं हैं। इसलिए, अलग-अलग आकार वर्गों का उपयोग करते समय wAny hAny के लिए लापता/विरोधाभासी बाधाओं के लिए समस्या को ठीक करना, किसी भी आकार के वर्ग से अतिरिक्त बाधा को अनइंस्टॉल करने का प्रयास करें, जो WAny hCompact या किसी अन्य आकार वर्ग में जोड़े गए थे।

आप इस तरह यह कर सकते हैं:

कदम: यदि उपयोगिताओं क्षेत्र खुला नहीं है

  1. , चुनें देखें> उपयोगिताएँ> दिखाएं उपयोगिताएँ।
  2. उस दृश्य का चयन करें जिसमें वह बाधा है जिसे आप बदलना चाहते हैं।
  3. उस बाधा का चयन करें जिसे आप इंस्टॉल करना या अनइंस्टॉल करना चाहते हैं। संयोजक निरीक्षक उपयोगिता क्षेत्र में खुलता है।
  4. कॉन्स्ट्रेंट इंस्पेक्टर में, इंस्टॉल की गई संपत्ति के बगल में जोड़ें बटन (+) पर क्लिक करें और पॉप-अप मेनू से वांछित वर्ग का आकार चुनें।

enter image description here

पॉप-अप मेनू से एक आकार वर्ग चुनने के बाद, कि आकार वर्ग के लिए एक नई प्रविष्टि आइटम बाधा निरीक्षक में दिखाई देता है।

enter image description here

नोट: यदि पहले से ही इच्छित आकार वर्ग के लिए किसी मौजूदा प्रविष्टि मद है, इस कदम को छोड़।

  1. उस आकार वर्ग के लिए बाधा स्थापित करने के लिए वांछित प्रविष्टि लाइन के लिए चेकबॉक्स का चयन करें। बाधा को अनइंस्टॉल करने के लिए चेकबॉक्स को अचयनित करें।

एक अनइंस्टॉल की गई बाधा के लिए एक रनटाइम ऑब्जेक्ट अभी भी बनाया गया है। हालांकि, यह दृश्य पदानुक्रम में शामिल नहीं है।

अवरोध निरीक्षक एक या अधिक प्रविष्टि आइटम दिखाता है जो दिखाता है कि बाध्यता आकार वर्ग के लिए स्थापित है या नहीं। आकार वर्ग के लिए प्रत्येक प्रविष्टि रेखा एक हटाए गए बटन (x) के साथ आकार वर्ग के बाद शुरू होती है, और उसके बाद चयन चेकबॉक्स। आकार वर्ग चौड़ाई (डब्ल्यू) और ऊंचाई (एच) के लिए दिखाया गया है।सी कॉम्पैक्ट आकार वर्ग, नियमित आकार वर्ग के लिए आर, और किसी भी आकार के वर्ग के लिए उपयोग किया जाता है।

आप इस apple document on installing and uninstalling constraint for size classes पर विस्तृत स्पष्टीकरण पा सकते हैं।

1

आपको बस आसानी से UIStackView की मदद कि xcode 7 और बाद से उपलब्ध है के साथ प्राप्त किया जा सकता है।

Apple Documentation of UIStackView

A good Tutorial on UIStackView

+0

वे 'UIStackView' के लिए कुछ अच्छे लिंक हैं और यह लंबवत या क्षैतिज लेआउट को व्यक्तिगत रूप से बनाना बहुत आसान होगा। हालांकि, यह तुरंत स्पष्ट नहीं है कि स्टैक व्यू स्वचालित रूप से डिवाइस आकार और अभिविन्यास के आधार पर लंबवत से क्षैतिज (या इसके विपरीत) में कैसे बदल जाएगा। क्या आप अपना उत्तर थोड़ा और भर सकते हैं? – Suragch

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