2009-05-27 15 views
43

आईबी में, "लेआउट" और "फ़्रेम" दिखाते हुए आकार निरीक्षक में एक ड्रॉपडाउन है। मुझे पता है कि एक फ्रेम क्या है, लेकिन मुझे नहीं पता कि इस मामले में लेआउट क्या है। अंतर क्या है?इंटरफेस बिल्डर के आकार निरीक्षक में फ्रेम और लेआउट के बीच क्या अंतर है?

उत्तर

31

जब अस्तर एक दूसरे से नियंत्रण और माप को मापते हैं तो अक्सर उनके कच्चे फ्रेम की बजाय स्क्रीन पर दिखाई देने वाली दृश्य स्थान के संदर्भ में नियंत्रण स्थानों के बारे में सोचना वांछनीय होता है। कई मामलों में, दृश्य आयताकार नियंत्रण पर कब्जा करता है, और इसकी फ्रेम काफी अलग होती है। उदाहरण के लिए, एक नियमित आकार पुश बटन स्क्रीन पर लगभग 20 अंक लंबा होता है, जिसमें 2 या 3 बिंदु ड्रॉप छाया होती है। हकीकत में, एक उचित ढंग से कॉन्फ़िगर किए गए पुश बटन का फ्रेम 32 अंक लंबा है, न कि 23। पैडिंग के अतिरिक्त 9 अंक अंक दृष्टि से स्पष्ट नहीं हैं।

"लेआउट आयत" नाम इस अवधारणा के लिए इंटरफ़ेस बिल्डर का नाम है।

लेआउट आयताकार मापने और आकार देने के अनुप्रयोगों को देखने के लिए उपयोगी है। ऐप्पल ह्यूमन इंटरफेस दिशानिर्देश यह बयान दे सकते हैं कि "दो पुश बटन लंबवत रूप से गठबंधन होते हैं, और क्षैतिज रूप से एक दूसरे के बगल में अंतरिक्ष के 12 बिंदु क्षैतिज रूप से अलग होना चाहिए।" बटन को अलग करने वाले अंतरिक्ष के 12 बिंदुओं को बटन के लेआउट फ्रेम से मापा जाना चाहिए, न कि उनके कच्चे फ्रेम।

+0

इस टिप्पणी को लिखने के समय में, और अब, ऐपकिट और यूआईकिट ने ऑटो लेआउट को अपनाया है। संरेखण आयत की ऑटो लेआउट की अवधारणा इंटरफेस बिल्डर में लेआउट आयत के समान अवधारणा है। –

+0

तो ऑटो लेआउट का उपयोग करते समय आप संरेखण आयताकार कैसे सेट करते हैं? इंटरफ़ेस बिल्डर में ऐसा करने का कोई तरीका है? लेआउट फ्रेम के साथ खेलना इसके लिए बहुत कुछ नहीं लगता है – Marchy

7

कई अंतर्निहित आईबी तत्वों में "बाउंड" आयताकार बनाम एक अलग "लेआउट" होता है। आप "लेआउट> XXX आयत दिखाएं" का उपयोग करके उन्हें दिखाकर अंतर देख सकते हैं। ड्रॉप-डाउन इंगित करता है कि निर्देशांक कौन सा आयताकार संदर्भित करता है।

मैक पर, यह UITextFields को प्रभावित करता है जो उदाहरण के लिए लेबल हैं। यदि आप लेआउट और फ़्रेम के बीच स्विच करते हैं, तो एक्स समन्वय 3 पिक्सेल से बदल जाएगा। मैंने आईफोन नियंत्रणों के साथ यह नहीं देखा है कि यह उनमें से किसी को प्रभावित करता है या नहीं। यह बहुत कुछ नहीं आता है।

+2

अच्छी नोक। धन्यवाद, लेकिन _Show (बाउंड्स | लेआउट) Rectangles_ मेनू आइटम अब Xcode 4.5.1 में ** संपादक> कैनवास ** के अंतर्गत है। – Jeff

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