2014-09-24 7 views
8

मैं आईओएस 8 का उपयोग कर रहा हूं। मेरे निब में ऑटोलायआउट और आकार वर्ग सक्षम हैं। मैंने आईबी में दो लेआउट किए हैं, किसी भी चौड़ाई/किसी भी ऊंचाई के लिए, और किसी भी चौड़ाई/कॉम्पैक्ट ऊंचाई के लिए। मैंने आईबी में विभिन्न उन्मुखताओं और डिवाइस आकारों का परीक्षण किया है और मुझे आईबी में बाधाएं नहीं हैं।मुझे एक बाधा पर एक ऑटोलायआउट त्रुटि क्यों मिलती है जिसे आकार वर्ग के लिए स्थापित नहीं किया जाना चाहिए?

अब जब मैं अपने फोन पर ऐप चलाता हूं। दृश्य चित्र में सही ढंग से बताता है। फिर मैं अपने फोन को परिदृश्य में घुमाता हूं और मुझे "बाधाओं को एक साथ करने में असमर्थ" मिलता है। त्रुटि। जब मैं विरोधाभासी बाधाओं की सूची देखता हूं, तो मुझे एक बाधा दिखाई देती है जिसे लैंडस्केप लेआउट के लिए अनइंस्टॉल किया जाना चाहिए था। जब रोटेशन पूरा हो जाता है तो लैंडस्केप लेआउट सही ढंग से दिखाई देता है।

ऐसा लगता है कि पुराने बाधाओं को अनइंस्टॉल करने से पहले आईओएस नई सीमाओं के साथ दृश्य को बाहर करने की कोशिश कर रहा है। क्या यह आईओएस के साथ एक ज्ञात समस्या है? क्या आकार वर्गों का सही ढंग से समर्थन करने के लिए मुझे एक कदम लागू करने की आवश्यकता है?

+2

मुझे एक ही समस्या है! जब मैं पोर्ट्रेट (सिम्युलेटर पर) घुमाता हूं तो मुझे उस बाधा पर एक विरोधाभासी बाधा मिलती है जो * आकार * उस आकार वर्ग के लिए स्थापित नहीं है! कष्टदायक! मैं बाधाओं को रीसेट करना जारी रखता हूं - एक ही त्रुटि! – wcochran

उत्तर

0

मुझे अभी भी लगता है कि यह एक आईओएस बग है, लेकिन मेरे पास इसे पुन: उत्पन्न करने के लिए नमूना प्रोजेक्ट बनाने का समय नहीं है। मुझे लगता है कि इस लेआउट के बारे में असामान्य क्या है कि मेरे पास एक छवि दृश्य है जो फोन को परिदृश्य में घुमाए जाने पर पूरी तरह से अलग स्थान पर जाता है।

छवि दृश्य पर चौड़ाई की बाधा आकार वर्ग के लिए अलग-अलग स्थिरांक थी, लेकिन यह अपवाद फेंक रहा था।

अगली बात की कोशिश की गई विभिन्न चौड़ाई बाधाओं का उपयोग करना था। एक कॉम्पैक्ट ऊंचाई के लिए स्थापित किया गया था, दूसरा सब कुछ के लिए स्थापित किया गया था। यह अभी भी एक अपवाद फेंक रहा था, भले ही ब्रेकिंग बाधा स्थापित नहीं होनी चाहिए।

आखिरकार, जो समाधान मैं काम कर रहा था वह दो छवि दृश्य, नियमित लेआउट के लिए एक और कॉम्पैक्ट ऊंचाई के लिए था। एक समय में केवल एक छवि दृश्य स्थापित किया गया था। यह अपवादों के बिना काम करता है और बिल्कुल वही दिखता है।

5

मैं इस मुद्दे में भाग गया। अधिक निराश! सबसे पहले मैंने WillTransitionToTraitCollection में कोड जोड़ा: ट्रांज़िशनकॉर्डिनेटर: यह पता लगाने के लिए कि क्या नया चयन एक आकार वर्ग था जिसे बाधा की आवश्यकता नहीं थी। यदि ऐसा है, तो मैं constraint.active = NO सेट करें।

यह चाल है, लेकिन मुझे कोड से नफरत है। मैं बस इतना था, "मुझे ऐसा क्यों करना चाहिए? नई आकार की कक्षा के लिए बाधा स्थापित नहीं है!"

तब मुझे पता चला कि अगर मैंने इंटरफ़ेस बिल्डर में 999 को अपमानजनक बाधा की प्राथमिकता कम कर दी है तो मुझे कंसोल में बाध्यता त्रुटि नहीं मिली है। :-) और सब फिर से दुनिया के साथ सही है।

+0

मैं वर्तमान में इस समस्या का आनंद ले रहा हूं - और मुझे लगता है कि मैं आपकी प्राथमिकता को एक चाल चलाना चाहूंगा। लेकिन क्या आपको पता है कि इस प्रकृति के बाधाओं के संघर्ष से कभी भी दुर्घटना/इसी तरह की समस्या हो सकती है और क्या ऐप्पल इस आधार पर पूरी तरह से ऐप को अस्वीकार कर देगा? – headbanger

+1

कोशिश की - यह काम किया। तुम एक डचेस हो एक वोट है। – headbanger

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

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