2015-01-11 6 views
11

के साथ आनुपातिक अंतरण मैं इंटरफ़ेस निर्माता के साथ एक पूरी तरह से स्केल दृश्य बनाने की कोशिश कर रहा हूं। अब तक, सब कुछ अच्छा है। मैं प्रोग्रामेटिक रूप से फ़ॉन्ट, बटन, आदि स्केल कर रहा हूं .. केवल समस्या ही तत्वों के बीच बाधाओं (अंतराल) है जो वही है। मैं रिक्ति की बाधाओं के लिए आउटलेट बनाने से बचना चाहता हूं क्योंकि यह गन्दा लगता है। मैं तत्वों को खींचने के रूप में तत्वों के बीच अंतर को आनुपातिक रहना चाहता हूं। अभी सब कुछ स्क्रीन के बाईं ओर आधारित गठबंधन है। अगर मैं अपना विचार खींचता हूं, तो सब कुछ गठबंधन रहता है। मैं इसे सभी आनुपातिक रूप से अलग करना चाहता हूं। मैं इसे कैसे पूरा कर सकता हूं (अधिमानतः इंटरफ़ेस बिल्डर का उपयोग कर)?आईओएस - ऑटोलायआउट

enter image description here

उत्तर

11

नोट - यह यह करने का एक अधूरा तरह से की तरह है।

मेरे पास एक समान समस्या थी और मेरे ऑब्जेक्ट्स के बीच अंतर को दर्शाने के लिए डमी दृश्य जोड़कर इसे हल किया गया। आप अपने शेष विचारों के अनुपात में आनुपातिक रूप से स्केल करने के लिए डमी दृश्यों को बाधित कर सकते हैं, जो आपके ऑब्जेक्ट्स के बीच अंतर को समग्र आकार के साथ ठीक से स्केल कर देगा। मैंने अपने डमी दृश्यों की छिपी हुई संपत्ति को सेट किया है, इसलिए वे दिखाई नहीं देंगे (नोट - वे छुपाए जाने पर भी ठीक से बाहर निकलते हैं)।

आशा है कि मदद करता है।

संपादित करें:

इस विधि है अपूर्ण (आप बाहरी विचारों के साथ आईबी को अस्त-व्यस्त करने के लिए है), लेकिन जैसे @sha कहना है कि वह केवल यह कर पाने के लिए रास्ता हो रहा है। यह पता चला है कि अन्य लोग समान सलाह दे रहे हैं। मैं इन संदर्भों जो उपयोगी हो सकता है भर में आया था:

AutoLayout to keep view sizes proportional

AutoLayout: layout consistency with proportional element spacing with 3.5" and 4" screens

+0

यह लेआउट करने का एकमात्र तरीका है जहां तक ​​मुझे पता है कि – sha

+2

वास्तव में, ऐप्पल आपको ऐसा करने की सलाह देता है। मुझे अभी यह नहीं मिल रहा है, लेकिन उनके डब्ल्यूडब्ल्यूडीसी सामग्री से वीडियो हैं जो उन्हें इस तरह कार्यान्वित करते हैं। –

+0

ओह, जानना अच्छा है। – thekwiat

8

डमी विचारों ??? आप ज़रूर मज़ाक कर रहे हो मुझसे। और यदि ऐप्पल यही सिफारिश करता है - तो मुझे उनके लिए बहुत सम्मान नहीं है।

क्या आप स्पष्ट रूप से देख रहे हैं केंद्रीय क्षैतिज (केंद्र एक्स संरेखण) बाधा है और फिर तुम सिर्फ 0 पर स्थिर रखते हुए गुणक के साथ खेलने के लिए की जरूरत है:

enter image description here

गुणक चला जाता है 0-2

1 will place the center of the subview at the center of the superview. 
0 will place the center of the subview at the left edge of the superview. 
2 will place the center of the subview at the right edge of the superview. 
0.5 will place the center of the subview at 25% through the superview. 
1.5 will place the center of the subview at 75% through the superview. 

उन सभी क्षैतिज अंतरिक्ष बाधाओं से छुटकारा पाएं। और हमेशा गुणक के बारे में सोचें - बाधाओं के स्थिरांक हमेशा 0

ऐप्पल मूल संकल्प के साथ भ्रमित है - वे नहीं चाहते हैं कि आपके डिज़ाइन को विभिन्न स्क्रीन आकारों में स्केल किया जाए। उनका बिगाड़ना। सभी तरह से स्केल संकल्प।

+1

बिल्कुल, निश्चित रिक्त स्थान इस तरह आनुपातिकता का उपयोग न करें। –

+1

यह चिह्नित उत्तर होना चाहिए, इसे लागू करना बहुत आसान है। – Leon

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