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


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


76
2018-03-01 22:03


मूल


मुझे याद है कि पीटर अम्मोन डब्ल्यूडब्ल्यूडीसी 12 में "जितना संभव हो सके इंटरफेस बिल्डर पर निर्भर" के बारे में बात करते हैं। कितना दूर्भाग्यपूर्ण। - DemoniacDeath
हाँ, मुझे लगता है कि अभी भी लेआउट बाधाओं के कार्यान्वयन से कुछ चीजें गायब हैं। ऐसा लगता है कि उन्होंने हमें अधिकांश मानकों तक पहुंच प्रदान की है, लेकिन गुणक नहीं, जो बहुत सी चीजों के लिए उपयोगी होगा। - rdelmar
लेकिन यह बेहतर और बेहतर हो रहा है! मेरा मतलब है कि ऑटो लेआउट 3 साल से भी कम समय पहले पेश किया गया था और मेरे दृष्टिकोण से आजकल समर्थन वास्तव में अच्छा है। - Lukas Kubanek


जवाब:


एक्सकोड 5.1b5 अद्यतन करें

width equals height

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


एक्सकोड 5.1 से पहले

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

width constraint

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

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];

163
2018-04-18 17:53



नवीनतम अपडेट के लिए धन्यवाद। एक्सकोड 5.1 बीटा 5 वास्तव में आपको आईबी में पहलू अनुपात बाधाओं को सेट करने की अनुमति देता है, लेकिन जब मैं प्रोजेक्ट को संकलित करने का प्रयास करता हूं, तो मुझे निम्न त्रुटि मिलती है: 5.1 से पहले एक्सकोड संस्करणों के साथ पहलू अनुपात बाधाएं। तो शायद हमें अंतिम 5.1 संस्करण की प्रतीक्षा करनी होगी। तुम्हारे लिए भी, @ जैनो? - Lukas Kubanek
हां, XIB में परिवर्तन पिछड़े संगत नहीं हैं। यदि आप 5.1 के साथ संपादित करते हैं तो आप कम संस्करणों पर वापस नहीं जा सकते हैं। - Jano
तो आप xib संकलित करने में सक्षम हैं? यह मेरे लिए एक्सकोड 5.1 बीटा 5 के साथ भी काम नहीं करता है। - Lukas Kubanek
@ onmyway133 दो विचारों के बीच एक बाधा उत्पन्न करें और गुणक को 1: 2 पर सेट करें। - Jano
एक्सकोड 7 में, ctrl + दृश्य से खींचें क्लिक करें और स्वयं के शीर्ष पर रिलीज़ करें, और पहलू अनुपात का चयन करें - inorganik