2015-01-21 13 views
6

मुझे एक समस्या है जहां मैं एक UIView पर NSLayoutconstraints को संशोधित करना चाहता हूं लेकिन ऐसा लगता है कि बहुत से गुण पढ़े जाते हैं। शुरुआत में मेरे पास चौकोर दृश्यों में वर्गों के रूप में चार UIViews होते हैं और वे सभी एक दूसरे से बंधे होते हैं, जिसमें लगभग 20 पिक्सल होते हैं।ऑटोलाउट बाधाओं को संशोधित करें

मेरे पास एक बटन है जो उन वर्गों में से एक के फ्रेम को अन्य स्क्रीनों में शामिल करता है। यह इस बिंदु पर है कि मैं उस UIView की बाधाओं को 20 पिक्सेल पर पर्यवेक्षकों की सीमाओं से जोड़ने के लिए बदलना चाहता हूं, इस तरह जब मैं इसे घुमाता हूं तो यह क्वाड व्यू पर वापस नहीं जाता है लेकिन पूर्ण स्क्रीन बनाए रखता है। ऐसा लगता है कि मैं जिस संपत्ति को बदलना चाहता हूं वह 'सेकेंडिट' है लेकिन यह काम नहीं करेगा। क्या मैं इस समस्या को गलत तरीके से देख रहा हूं? मैं autolayout को खोजने के लिए मुश्किल थोड़ा इसलिए किसी भी मदद की बहुत सराहना की जाएगी

उत्तर

9

हाय आप की कमी के 2 सेट कर सकते हैं:

  • 1 उच्च प्राथमिकता के साथ अपने ट्रैक्टर को देखने का प्रबंधन करने के
  • 1 के साथ अपने फुलस्क्रीन प्रबंधन करने के लिए प्राथमिकता कम

जब आप अपना बटन टैप करते हैं, तो विधि में अपनी पूर्णस्क्रीन बाधाओं को प्राथमिकता दी जाती है और आपकी क्वाड व्यू बाधाओं को प्राथमिकता दी जाती है।

+0

यह तार्किक लगता है, मुझे यह रनटाइम त्रुटि मिली हालांकि: स्थापित बाधा (या इसके विपरीत) पर आवश्यक से प्राथमिकता को उत्परिवर्तित करना समर्थित नहीं है। आपने प्राथमिकता 250 पारित की है और मौजूदा प्राथमिकता 1000 – Md1079

+6

हां है, आप जिन बाधाओं को प्राथमिकता में बदलना चाहते हैं, उन्हें "आवश्यक" (प्राथमिकता = 1000) नहीं होना चाहिए। जैसा कि मैंने आपको बताया था, उन्हें "उच्च" (प्राथमिकता = 750) पर सेट करें और "कम" (प्राथमिकता = 250) पर स्विच करें, और इसके विपरीत। – Vincent

+0

धन्यवाद, इसे जाने दिया, लेकिन अन्य विचारों को गड़बड़ कर दिया (शायद बुरी तरह से डिजाइन की बाधाओं के कारण)! जब बटन दबाया गया था और वांछित प्रभाव प्राप्त करने के लिए प्रोग्रामिंग के रूप में नए रूपों का एक गुच्छा बना रहा था, तो मैंने बस सभी बाधाओं को बचाने और हटाने को समाप्त कर दिया। समाप्त होने के बाद मैं बस प्रक्रिया को उलट सकता था। – Md1079

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