2013-11-14 9 views
5

मैं ऐप्पल NSAutolayout का उपयोग करने के लिए काफी नया हूं। सबसे आसान उदाहरण में मैं कल्पना कर सकता था कि मैंने डिफ़ॉल्ट टेम्पलेट के साथ टैबड आईफोन ऐप बनाया है। फिर पहले दृश्य में मैंने UISegmentedControl जोड़ा और उसे 2 बाधाएं जोड़ें: "केंद्र एक्स को एक्सलाइन करें: सुपरव्यू" और "नीचे की जगह से: नीचे लेआउट मार्गदर्शिका"। फिर जब मैं ऐप चलाता हूं तो UISegmentedControl स्थिति सही होती है लेकिन जब मैं दूसरे दृश्य पर स्विच करता हूं और वापस जाता हूं, तो UISegmentedControl नीचे जाता है और UITabBar से छिपा जाता है। जब मैं डिवाइस घुमाता हूं तो खंडित नियंत्रण स्थिति सही जगह पर वापस जाती है।गलत जगह UISegmentedControl (संभावित बग)

क्या इससे बचने के लिए कोई समाधान है?

संपादित करें: समस्या दिखाने के लिए कुछ स्नैपशॉट्स।

Before http://img824.imageshack.us/img824/6830/o2v2.png After http://img5.imageshack.us/img5/2205/ksb6.png

संपादित करें 2: मैं अस्थायी समाधान मिल गया।

@property (nonatomic, assign) CGRect fix_didLoadSegmentedFrame; 
फिर viewDidLoad में

और समारोह जहां मूल्य UISegmentedControl आप लाइन जोड़ने चाहिए बदलते संभाल:

self.fix_didLoadSegmentedFrame = self.mapTypeSegmentedControl.frame; 

तुम भी स्थापित करना चाहिए "

तुम सब उदाहरण के लिए संपत्ति का उपयोग कर डेटा स्टोर करने की जरूरत है

कारक "स्टोरीबोर्ड संपत्ति से रेटिना 3.5-इंच लागू करें।

+0

मैं एक ही मुद्दा है करने के लिए नहीं superview करने के लिए। अच्छी समस्या स्पष्टीकरण के लिए +1। – uerceg

उत्तर

0

ओके। वहाँ दो संभावनाएं इस तरह के मुद्दे को दूर करने के:

  • जांच विकल्प "का निर्माण समय निकालें"
  • देते UISegmentedControl ऊपर परत
1

viewDidLoad में यह प्रयोग करके देखें:

self.tabBarController.tabBar.translucent = नहीं;

+0

यह समस्या हल नहीं करता है। पारदर्शी दृश्य अभी भी अनिश्चित रूप से मौजूद है। लेकिन यह बदसूरत "कूदता" हल करता है ताकि +1 – Szu

+0

वैसे भी मुझे आश्चर्य हुआ जब मैं स्टोरीबोर्ड में "ओपेक बोटम बार" पर निचला बार सेट करता हूं, यह अभी भी सही तरीके से काम नहीं करता है। – Szu

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