2016-04-02 13 views
9

चूंकि मैंने Xcode 7.3 में अपडेट किया है, मुझे UIStackView के साथ समस्या है। यदि मैं एक खाली प्रोजेक्ट बनाता हूं और UIStackView में UIStackView में केवल दो UILabel एस डालता हूं, तो डिफ़ॉल्ट हाग्गिंग और संपीड़न प्राथमिकताओं के साथ, यह मुझे ऑटोलाउट मिस्प्लेसमेंट त्रुटि दिखाता है। यह UIStackView में एक (!) UILabel के साथ भी काम नहीं करता है, इसलिए प्राथमिकताओं से कोई फर्क नहीं पड़ता (जैसा कि मुझे लगता है, शायद समस्या है)।XID में UILabels के साथ UIStackView 7.3

जैसा कि मुझे पहले एक्सकोड में याद है 7.3 सबकुछ ठीक था। मैंने अलग-अलग दो मैकबुक प्रो पर जांच की, यह वही मुद्दा है।

क्या कोई इसे जानता है कि इसे कैसे ठीक किया जाए?

enter image description here enter image description here

+2

क्यों इस मतदान किया गया था? मुझे यह पूरी तरह से उपयोगी और विशिष्ट लगता है। – nacho4d

उत्तर

9

enter image description here यह एक बग एक्सकोड 7.3 में दिखाई देता है, ताकि आप उसे मैट के रूप में अनदेखा कर सकें।

समस्या

स्टोरीबोर्ड subviews के आंतरिक सामग्री आकार की गणना नहीं कर सकते हैं जब आप UIStackView का उपयोग

समाधान

आप अपने स्टोरीबोर्ड में चेतावनी देखकर नफरत, तो आप इसे फ़िक्से कर सकते हैं नीचे की तरह:

आपको अपनेके प्रत्येक सबव्यू के लिए इन चरणों को करना चाहिए 10

  • नल अपने subview की चेतावनी
  • नल "अपडेट फ्रेम" विकल्प
  • चुनें "प्लेसहोल्डर" subview आंतरिक आकार के निरीक्षक ध्यान में रखते हुए चौथा मेनू में

की तरह कि आप चेतावनियां नहीं देखेंगे, और आप देख सकते हैं कि कोई अस्पष्टता

नुकसान यह है कि जब भी आप अपना सबव्यूव बदलते हैं तो आपको यह कदम उठाना चाहिए (एक्सपैम्प le: एक UILabel का पाठ)

उम्मीद है कि एप्पल अगली फिल्म

+0

अरे हमज़ा। आपके स्क्रीनशॉट के लिए धन्यवाद! यह एक सम्मोहन की तरह काम करता है! बहुत बढ़िया खोज! –

+0

अरे @ राल्फहंडवाड, आपका स्वागत है, और आपकी प्रतिक्रिया के लिए धन्यवाद :) –

+0

ओह मैन इसके लिए बहुत बहुत धन्यवाद! –

4

चेतावनी पर ध्यान न दें। स्टोरीबोर्ड ने स्टैक दृश्यों को कभी समझा नहीं है। रनटाइम पर बाधाएं सही होंगी और यह सब कुछ मायने रखता है।

+0

हां, रनटाइम में यह काम करता है, लेकिन इंटरफ़ेस बिल्डर में 7.3 तक भी काम कर रहा था। क्या ऐप्पल इस मुद्दे को जानता है और क्या वे इसे ठीक करने की योजना बना रहे हैं? :( – Eugene

+0

यदि आप एक बग रिपोर्ट सबमिट करते हैं तो वे करते हैं। क्या आपने किया? Https://bugreport.apple.com – matt

+0

हाँ, मैंने किया। प्रतीक्षा करें, देखते हैं ... – Eugene

3

में इस बग मैं चेतावनी को नष्ट करने और 'अद्यतन फ्रेम' ठीक से काम करने के लिए एक अलग चाल है ठीक करता है का आकार परिवर्तित करने।

लाभ:

प्लेसहोल्डर मूल्यों में परिवर्तन हर बार पाठ में परिवर्तन

नुकसान की आवश्यकता नहीं है:

अतिरिक्त दृश्य हैं जो अनावश्यक हैं जब Xcode 8 बाहर

आता है चरण:

  • प्रत्येक UILabel को UIView के अंदर एम्बेड करें।
  • आकार के लिए UIView Constrain ही लेबल के आधार पर (मैच, अग्रणी अनुगामी, नीचे, और शीर्ष)

यह UIStackView की तरह लगता है (Xcode 7 में) एक लेबल के आंतरिक सामग्री आकार नहीं समझ सकता , लेकिन एक दृश्य के आंतरिक सामग्री आकार को समझ सकते हैं - इसलिए लेबल को एक दृश्य और प्रतिष्ठा में रखें!

enter image description here

+0

एक्सकोड 8 (बीटा 6) के वर्तमान संस्करण पर भी कभी-कभी यह आवश्यक है। बग दायर – florianbuerger

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