UIView

2015-02-26 7 views
6

के केंद्र से दो बटन समीकरण कैसे संरेखित करें मैं ऑटो लेआउट के साथ काम कर रहा हूं। दिलचस्प मुद्दे पर सामना करना। उस समय से सौभाग्य से उस पर विजय प्राप्त की लेकिन इसे हल करने का सबसे अच्छा तरीका जानने की जरूरत है।UIView

enter image description here

समस्या: ऊपर चित्र मैं बटन की जोड़ी में दिखाई दे रहा है। दोनों को UIView के केंद्र से समीकरण चौड़ाई में स्थानांतरित करने की आवश्यकता थी (बोल्ड लंबवत रेखा दृश्य का केंद्र है)। इसके अलावा मुझे इस तरह की बाधा पर लागू होना है कि बटन के बीच की दूरी स्वचालित रूप से समायोजित की जाएगी। उदाहरण के लिए दूरी डिवाइस की चौड़ाई का 25% होना चाहिए। यदि मेरी डिवाइस चौड़ाई 320 है तो बटन के बीच की दूरी 80 पिक्सेल है और इसी तरह।

समाधान (मैंने कोशिश की है): उपर्युक्त समस्या के लिए मैंने समाधान पर प्रयास किया। जैसा कि आंकड़े में दिखाया गया है, मैंने UIView में डमी व्यू पर जोड़ा है डमी व्यू की चौड़ाई दो बटनों के बीच अंतर के बराबर है। और फिर मैंने डमी दृश्य में बाधाओं को लागू किया है। जैसे: 1. Horizontal centre of the UIView 2.Width equals to the UIView width with 0.25 as a multiplier

प्रश्न: समाधान ऊपर मेरे लिए पूरी तरह से काम कर रहा है। लेकिन अगर भविष्य में यदि मेरे विचार में बहुत जटिल तत्व होंगे तो डमी दृश्य जोड़ना अच्छा विचार नहीं हो सकता है। तो, क्या ऐसा करने के लिए कोई और साफ तरीका है?

उत्तर

15

मुझे एक ही समस्या का सामना करना पड़ा। मैंने इस विचार का उपयोग करके हल किया कि मुझे rdelmar के जवाब से मिला है।

यही वह है जो मैंने किया था।

बाएँ बटन के लिए:

  1. जोड़ा गया के लिए बाधा 'केंद्र - क्षैतिज कंटेनर में'
  2. तो गुणक 0.5 के बजाय 1 करने के लिए कि बाधा के लिए बदल दिया है।

सही बटन के लिए:

  1. जोड़ा गया के लिए बाधा 'केंद्र - क्षैतिज कंटेनर में'
  2. तो गुणक 1.5 के बजाय 1 करने के लिए कि बाधा के लिए बदल दिया है।

मुझे बताएं कि यह आपके लिए काम करता है या नहीं।

+0

मुझे लगता है कि यह चालाक था :) – eestein

+0

धन्यवाद eestein! :) –

+0

अच्छा विचार! धन्यवाद! – DarkMoon

1

आप स्क्रीन के दाएं किनारे पर बाधाओं का उपयोग करके स्टोरीबोर्ड (या xib) में ऐसा कर सकते हैं - दाएं किनारे का मान स्क्रीन की चौड़ाई जैसा ही है, ताकि आप गणना के लिए इसका उपयोग कर सकें । बाएं बटन के लिए आप अपने पीछे के किनारे को पर्यवेक्षी के दाएं किनारे के समय 0.375 (0.5 शून्य से 125) के बराबर करना चाहते हैं जो आपकी 25% आवश्यकता का आधा है)। दाएं बटन में इसके अग्रणी किनारे के पर्यवेक्षण समय 0.625 (.5 + .125) के दाएं किनारे के बराबर होगा।

की कमी इस तरह दिखेगा,

enter image description here

enter image description here

0

कोशिश एक सीध में लाना प्रमुख अपने btn2 के किनारे और अपने दृश्य के मध्य y 0 और गुणक 200 के लिए निरंतर सेट के साथ अपने btn1 के किनारे अनुगामी : 160 और 120: 160 क्रमशः जहां आपका केंद्र वाई दूसरा आइटम है