2010-10-22 14 views
20

में ऑटोसोज़िंग सेटिंग में समस्या मेरे पास दो दृश्य नियंत्रक हैं, एक UIViewController का उप-वर्ग है (सही ढंग से ऑटोरेरेस करता है), दूसरा UIViewController के उप-वर्ग का उप-वर्ग है।
मैंने इंटरफेस बिल्डर में एक लेआउट किया, मैंने सिम्युलेटर में अपना कोड परीक्षण किया और सब कुछ अपेक्षित काम करता है। लेकिन अगर मैं डिवाइस को घुमाता हूं तो मेरे विचार आकार बदलते नहीं हैं।
तो मैं इंटरफ़ेस बिल्डर पर वापस गया और पाया कि मैं "रूट" -उविव के आकार बदलने वाली संपत्ति को नहीं बदल सकता। तो मैंने एक और फाइल खोली और आकार बदलने वाली संपत्ति भी तय की गई है। लेकिन यह दोनों दिशाओं में आकार बदलने के लिए सेट है। यह वह व्यवहार है जो मैं चाहता हूं।इंटरफ़ेस बिल्डर

मैं शीर्ष UIView के ऑटोरेसाइजिंग को कैसे बदल सकता हूं, तो यह वही करता है जो मैं चाहता हूं?
इतने सारे सबव्यूज़ नहीं हैं कि स्क्रैच से फिर से शुरू करना असंभव है, लेकिन मैं ऐसा नहीं करना चाहता हूं।

Interface Builder, Autoresizing Mask

उत्तर

24

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

विशेषताएँ टैब (सीएमडी -1) पर जाएं और सुनिश्चित करें कि स्टेटस बार, टॉप बार, नीचे बार, और स्प्लिट व्यू सभी "निर्दिष्ट नहीं हैं" पर सेट हैं। फिर आकार टैब (सीएमडी -3) पर वापस जाएं और आप लाइनों पर क्लिक करने और अपने स्ट्रूट्स और स्प्रिंग्स को बदलने में सक्षम होंगे। फिर अंततः आप सीएमडी -1 पर वापस जा सकते हैं और उन अनुरूपित तत्वों को वापस चालू कर सकते हैं।

+0

आप इस के लिए एक सुनहरा स्टार मिलता है। धन्यवाद! – sean808080

+0

'cmd + 1' 'प्रोजेक्ट नेविगेटर' खोलता है !!!!!!!!!!!!!!!! –

+0

@ लुलियन, ऐसा इसलिए है क्योंकि एक्सकोड ने शॉर्टकट कुंजियां बदल दी हैं। 2011 में वापस, यह सही था। –

13

मैं एक सरल जवाब है:

  1. गोटो आईबी 'ViewController'
  2. गोटो पर
  3. 'पर क्लिक करें मुक्त अवस्था' (कुछ के अलावा अन्य करने के लिए
  4. परिवर्तन 'आकार' 'इंस्पेक्टर गुण'

    : 'Inferred')

क्या आपके पास यह है

enter image description here

'आकार' को 'फ्रीफॉर्म' में बदलें & अभी आज़माएं!

enter image description here

अब, यह काम करता है! Autoresizing मास्क सेट करने के बाद & वापस जाएं 'इन्फर्ड' में बदलें। स्रोत के रूप में

+0

उत्कृष्ट, धन्यवाद। – Robert

0

ओपन Main.storyboard (भूल नहीं है, यह सिर्फ एक XML फ़ाइल है) और की जगह निम्न पंक्ति के साथ दृश्य में "autoresizingMask" टैग:

<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> 
संबंधित मुद्दे