2014-05-10 11 views
5

में सभी दृश्यों के लिए अवांछित फिक्स्ड फ्रेम = "हाँ" उत्पन्न करता है, मैं स्रोत नियंत्रण के लिए गिट का उपयोग कर रहा हूं, और इसने मुझे यह इंगित करने में सक्षम किया है कि मेरा एक दृश्य स्वयं को सही तरीके से क्यों नकारने से इंकार कर देता है। एक ही नियंत्रक में प्रत्येक दृश्य को बदलता है fixedFrame="YES" एक्सएमएल संपत्ति द्वारा तय किया गया है। मैंने इस बदलाव को उस प्रतिबद्धता से अलग कर दिया है जिसमें लिखा गया था, और अब यह मेरी कार्यशील निर्देशिका में है। लेकिन यहां कष्टप्रद हिस्सा है। मैं स्टोरीबोर्ड फ़ाइल को ठीक से वापस कर सकता हूं और एक्सएमएल सभी fixedFrame विशेषताओं को हटा देगा। लेकिन जैसे ही मैं अपने परीक्षण उपकरणों के लिए एक नया निर्माण शुरू करता हूं, संकलन से पहले परिवर्तन फिर से लागू होते हैं, और सभी विचार एक निश्चित चौड़ाई पर सेट होते हैं। यह मुझे पागल कर रहा है।एक्सकोड में स्टोरीबोर्ड एक नियंत्रक

मैंने व्युत्पन्न डेटा हटा दिया है, परियोजना फ़ाइल को निरंतर साफ कर दिया है, एक्सकोड और मेरी विकास मशीन को पुनरारंभ किया है।

मैंने सोचा कि शायद fixedWidth एक्सएमएल विशेषता Autoresize Subviews आईबी विकल्प से संबंधित थी, लेकिन टॉगलिंग का निश्चित फ्रेम सामान की पीढ़ी पर कोई प्रभाव नहीं पड़ता है। मुझे लगता है कि मेटा-वर्कस्पेस-डेटा प्रकार के फ़ोल्डर में कुछ अप्रत्याशित होना चाहिए।

वास्तव में कुछ अतिरिक्त सहायता का उपयोग कर सकता है, मैंने इसके बारे में सबकुछ सोच सकते हैं, और ऐसा लगता है कि दृष्टि में कोई समाधान नहीं है।

+1

इसे पहले स्थान पर सेट करने के लिए आपने क्या परिवर्तन किया? मैं आईबी का ज्यादा उपयोग नहीं करता लेकिन अगर आपके पास अपना लेआउट पूरी तरह से परिभाषित करने के लिए पर्याप्त बाधाएं नहीं हैं तो निश्चित फ्रेम सेट नहीं होता है? यह सिर्फ उन्हें आईबी के आकार से ले जाता है? यदि आप Autolayout मुद्दों मेनू से "सुझाई गई बाधाओं को जोड़ते हैं" तो क्या होता है? – jrturton

+0

यह वही हुआ जो कि हुआ - मेरी सारी बाधाओं को पूरे स्टोरीबोर्ड में हटा दिया गया। किसी भी तरह मैंने अनजाने में हर एक को हटा दिया। जो अजीब है, क्योंकि मुझे "सभी बाधाओं को देखने" विकल्प से अवगत है, लेकिन पूरे स्टोरीबोर्ड को हटाने के लिए कोई नहीं।लेकिन इनपुट के लिए धन्यवाद, आप पैसे पर सही थे। – user

+1

मदद करने के लिए खुशी हुई। हो सकता है कि अगर ऑटोटायआउट बॉक्स का उपयोग किया गया तो अनचेक किया गया हो सकता है? – jrturton

उत्तर

3

मुझे यकीन नहीं है कि कोई भी इस समस्या को उसी तरह से चलाएगा जैसा मैंने किया था- लेकिन जवाब यह है कि मेरी सभी बाधाओं को उस स्टोरीबोर्ड के लिए कुछ दुर्घटना और बिना किसी बाधा के हटा दिया गया था, fixedFrame संपत्ति स्वचालित रूप से सेट हो जाती है स्टोरीबोर्ड उत्पन्न होता है।

समाधान: इस वजह से प्रतिबद्धता को मिटाएं, या मैन्युअल रूप से फिर से लेआउट करें।

2

आप में जाने के लिए और fixedFrame जिसे त्यागने कर सकते हैं ...

Storyboard fixedFrame

या मैं यह भी कहा कि सफाई, व्युत्पन्न डेटा को हटाने, और Xcode को पुन: प्रारंभ समस्या को हल कर सकते हैं मिल गया है।

0

मेरे लिए यह तब होता है जब आकार वर्ग सक्षम/अक्षम करते हैं।

enter image description here

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

enter image description here

मैं इसे एक बहुत बदल रहा था क्योंकि हमेशा की तरह सहायक संपादक पूर्वावलोकन बेतरतीब ढंग से अनुपलब्ध हो रहा है।

कुल मिलाकर, अब तक मैं कक्षाओं का उपयोग करने से बचने के लिए जितना समय कर सकता हूं। एक बार आधार लेआउट पूरा हो जाने पर मैं इसे विभिन्न स्क्रीन आकारों के लिए अंतिम समायोजन करने में सक्षम कर सकता हूं। यही है कि ऑटो लेआउट बाधाएं पर्याप्त नहीं थीं।

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