इंटरफ़ेस बिल्डर में "चौड़ाई बराबर ऊँचाई" बाधा


92

इंटरफ़ेस बिल्डर में 'चौड़ाई' का अर्थ 'चौड़ाई के बराबर ऊँचाई' बनाने के लिए मुझे कोई रास्ता नहीं मिल रहा है। मुझे लगता है कि इस तरह की बाधा को प्रोग्रामेटिक रूप से जोड़ना संभव है। क्या आईबी में मैं कुछ कर सकता हूं? शायद मैं इसे देख नहीं रहा हूँ? यह तुच्छ लगता है, फिर भी मैं इसे नहीं खोज सकता।


मुझे याद है कि पीटर एम्मोन WWDC'12 में "इंटरफ़ेस बिल्डर पर भरोसा जितना संभव हो" के बारे में बात कर रहे हैं। कितना दूर्भाग्यपूर्ण।
DemoniacDeath

4
हाँ, मुझे लगता है कि लेआउट की बाधाओं के कार्यान्वयन से अभी भी कुछ चीजें गायब हैं। ऐसा लगता है कि उन्होंने हमें अधिकांश मापदंडों तक पहुंच प्रदान की है, लेकिन गुणक नहीं है, जो बहुत सारी चीजों के लिए उपयोगी होगा।
rdelmar

लेकिन यह बेहतर और बेहतर हो रहा है! मेरा मतलब है कि ऑटो लेआउट 3 साल से कम समय पहले पेश किया गया था और मेरे दृष्टिकोण से आजकल समर्थन वास्तव में अच्छा है।
लुकास क्यूबेक

जवाबों:


187

अपडेट Xcode 5.1b5

चौड़ाई ऊँचाई के बराबर होती है

Ctrl + क्लिक करें और एक दृश्य से खींचें और पॉइंटर को दृश्य के ऊपर छोड़ दें। "पहलू अनुपात" का चयन करें। यह एक अवरोध पैदा करेगा जहां पहला और दूसरा आइटम दृश्य है।


Xcode 5.1 से पहले

आप ऐसा नहीं कर सकते क्योंकि चौड़ाई / ऊंचाई के संपादक के पास किसी अन्य संपत्ति से संबंधित या अनुपात सेट करने के लिए फ़ील्ड का अभाव है:

चौड़ाई की कमी

इसलिए, आप इंटरफ़ेस बिल्डर में निम्न कोड व्यक्त नहीं कर सकते:

CGFloat ratio = 1.0;
NSLayoutConstraint *constraint = [NSLayoutConstraint
    constraintWithItem:myView
    attribute:NSLayoutAttributeWidth
    relatedBy:NSLayoutRelationEqual
    toItem:myView
    attribute:NSLayoutAttributeHeight
    multiplier:ratio
    constant:0];
constraint.priority = 1000;
[myView.superview addConstraint:constraint];

1
नवीनतम अपडेट के लिए धन्यवाद। Xcode 5.1 बीटा 5 वास्तव में आपको IB में पहलू अनुपात की कमी को निर्धारित करने की अनुमति देता है, लेकिन जब मैं परियोजना को संकलित करने की कोशिश करता हूं, तो मुझे निम्नलिखित त्रुटि मिलती है: 5.1 से पहले Xcode संस्करणों के साथ पहलू अनुपात की कमी । तो शायद हमें अंतिम 5.1 संस्करण के लिए इंतजार करना होगा। आपके लिए, @ जानो?
लुकास कुबेक

हां, XIB में परिवर्तन पिछड़े संगत नहीं हैं। यदि आप 5.1 के साथ संपादित करते हैं तो आप कम संस्करणों में वापस नहीं जा सकते।
Jano

तो आप xib को संकलित करने में सक्षम हैं? यह मेरे लिए Xcode 5.1 बीटा 5 के साथ भी काम नहीं करता है।
लुकास क्यूबेक

1
@ onmyway133 दो विचारों के बीच एक अवरोध पैदा करता है और गुणक को 1: 2 पर सेट करता है।
Jano

3
Xcode 7 में, Ctrl + देखने से खींचें और खुद के शीर्ष पर रिहाई, का चयन करें और पहलू अनुपात क्लिक करें
inorganik

1

छवि के रूप में UI तत्व पर 1: 1 का नया अनुपात, पहलू अनुपात जोड़ें।

पहलू अनुपात को 1: 1 पर सेट करें


0

शुरू करने के लिए, बटन से तिरछे खींचें को नियंत्रित करें। एक प्रासंगिक मेनू दिखाई देगा, जहां आप चौड़ाई और ऊंचाई की कमी जोड़ सकते हैं। Shift + प्रत्येक पर क्लिक करें; एक चेकमार्क यह दर्शाता है कि आपने बाधा डाल दी है। (यदि आप दोनों को जोड़ने से पहले गलती से संवाद को खारिज कर देते हैं, तो ठीक है, बस ड्रैग स्टेप दोहराएं और दूसरे को सेट करें):

यहां छवि विवरण दर्ज करें

जब पहली बार जोड़ा जाता है, तो ये बाधाएँ बटन की वर्तमान चौड़ाई और ऊँचाई पर ले जाती हैं, इसलिए आपको इसे अधिक उपयुक्त मान देने के लिए प्रत्येक बाधा को समायोजित करने की आवश्यकता होगी। हमें यह एक समय में करना होगा, हालांकि हमारी छवि चौकोर है, इसलिए आनुपातिक रूप से बटन का आकार बदलने के लिए दोनों बाधाओं में समान निरंतर मूल्य का उपयोग करना सुनिश्चित करें। बाधा पर डबल-क्लिक करें, और इसके स्थिर क्षेत्र में एक छोटा मान दर्ज करें:

यहां छवि विवरण दर्ज करें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.