2015-10-06 3 views
44

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

leadingAnchor, leftAnchor 

साथ

trailingAnchor, rightAnchor 

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

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

"दृश्य के अग्रणी बढ़त के साथ बाधाओं बनाने के लिए इस लंगर का प्रयोग करें आप केवल NSLayoutXAxisAnchor के सबसेट के साथ इस लंगर को जोड़ सकते हैं एंकर आप के साथ एक leadingAnchor जोड़ सकते हैं।। एक और अग्रणी एंकर, एक पीछे की ओर एंकर, या एक सेंटरएक्स एंकर। जानकारी के लिए, NSLayoutAnchor क्लास संदर्भ देखें। "

तुलना करने के लिए:

"दृश्य के बाएँ किनारे के साथ बाधाओं बनाने के लिए इस लंगर का प्रयोग करें आप केवल NSLayoutXAxisAnchor एंकर के एक सबसेट के साथ इस लंगर गठजोड़ कर सकते हैं आप के साथ एक leftAnchor जोड़ सकते हैं।। एक और बाएं एंकर, दायां एंकर, या एक केंद्र एक्सएन्चर। अधिक जानकारी के लिए, NSLayoutAnchor क्लास संदर्भ देखें। "

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

उत्तर

102

यह पर ऑटोडायआउट पर रहस्यों (संक्षेप में) डब्ल्यूडब्ल्यूडीसी 2015 वीडियो में शामिल किया गया था (मुझे लगता है कि यह भाग 1 था लेकिन दोनों देखने योग्य हैं)।

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

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

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

आप एक बच्चों के अनुप्रयोग शिक्षण जहां सही से छोड़ दिया गया बने होते हैं और आप हमेशा स्क्रीन के बाईं ओर 'छोड़' बटन चाहता था तो छोड़ दिया/सही बाधाओं उपयुक्त होगा

+3

बहुत बढ़िया जानकारी, धन्यवाद उत्तर के लिए काश मैं वीडियो देखता हूं, तो मैं इसे खुद जानता था! मैं इसे स्वीकार किए गए उत्तर के रूप में चिह्नित करूंगा। एक बार फिर धन्यवाद –

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