लेफ्ट एंकर और लीडर एंकर के बीच अंतर?


119

मैं आईओएस के लिए स्विफ्ट में बाधाओं के साथ काम कर रहा हूं, और अधिकांश नामकरण सम्मेलनों / प्रलेखन चीजों को काफी आत्म व्याख्यात्मक बनाता है, लेकिन एक चीज जिसने हाल ही में मुझे भ्रमित किया है वह है NSLayoutXAxisAnchest वर्ग की दो जोड़ी:

leadingAnchor, leftAnchor

साथ में

trailingAnchor, rightAnchor

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

मैंने developer.apple.com से दस्तावेज़ीकरण की जाँच की, और परिणाम बिल्कुल समान हैं (नामों में अंतर को अनदेखा करते हुए)। उदाहरण के लिए अग्रणीअनचोर और बाक़ी की तुलना:

"दृश्य के अग्रणी किनारे के साथ अवरोध पैदा करने के लिए इस एंकर का उपयोग करें। आप केवल इस एंकर को NSLayoutXAxisAnchor एंकर के सबसेट के साथ जोड़ सकते हैं। आप एक अग्रणी एंकर के साथ किसी अन्य एंकर, एक अनुगामी एंकर, या एक सेंटरएक्सऑनचोर के साथ संयोजन कर सकते हैं। अधिक जानकारी के लिए NSLayout देखें। संदर्भ। "

से तुलना:

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

क्या कोई जानता है कि क्या इन गुणों के बीच कोई इच्छित अंतर है?

जवाबों:


272

यह WWDC 2015 के वीडियो में ऑटोलाययूट के रहस्यों में से एक में कवर किया गया था (मुझे लगता है कि यह भाग 1 था, लेकिन दोनों देखने लायक हैं)।

बाएँ और दाएँ बाधाएँ निरपेक्ष हैं, वे हमेशा स्क्रीन के बाएँ / दाएँ या नियंत्रण का उल्लेख करेंगे। लीडिंग और ट्रेलिंग बाधाएं डिवाइस लोकेल से प्रभावित होती हैं; उन स्थानों पर जहां पढ़ने की दिशा दाईं ओर (अंग्रेजी, फ्रेंच, स्पेनिश और इसी तरह) बाईं ओर अग्रणी और बाईं ओर (और अनुगामी और दाएं) का उपयोग किया जा सकता है। उन स्थानों पर जहाँ पढ़ने की दिशा बाएँ से दाएँ है (उदाहरण के लिए हिब्रू, अरबी) तो 'अग्रणी' दाईं ओर होगी और 'अनुगामी' बाईं ओर होगी।

वीडियो में सलाह यह थी कि आपको लगभग हमेशा बाएं / दाएं के बजाय अग्रणी / अनुरेखण का उपयोग करना चाहिए जब तक कि आपके पास पूर्ण बाएं / दाएं के लिए विशिष्ट आवश्यकता न हो।

एक लेबल और एक पाठ क्षेत्र के विशिष्ट 'फॉर्म' पर विचार करें। यदि आप अग्रणी / अनुगामी बाधाओं का उपयोग करते हैं तो आपको एक अंग्रेजी लोकेल के लिए दाईं ओर बाईं ओर पाठ फ़ील्ड पर लेबल और दाईं ओर पाठ फ़ील्ड पर हिब्रू लोकेल के लिए लेबल मिलेगा।

यदि आपने बच्चों का ऐप बनाया है जहाँ आप दाएँ से बाएँ सिखा रहे थे और आप हमेशा स्क्रीन के बाईं ओर 'बाएँ' बटन चाहते थे, तो बाएँ / दाएँ अवरोध उचित होगा


9
उत्कृष्ट जानकारी, उत्तर के लिए धन्यवाद। काश, मैं वीडियो देखती, तो मुझे खुद पता होता! मैं इसे स्वीकृत उत्तर के रूप में चिह्नित करूंगा। एक बार फिर धन्यवाद
माइकल फोर्रे
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.