2014-10-01 12 views
15

धक्का तो बाद मेरी समस्या ऑटो लेआउट और नीचे लेआउट गाइड से संबंधित है।नीचे tabbar साथ लेआउट गाइड लंबाई मुद्दा

UITabBarController

^- tab1:

यहाँ एप्लिकेशन के डिजाइन है VC1 साथ navigationController रूट के रूप में

^- VC2 धक्का दिया और टैब को छुपाता है बार (पूर्ण स्क्रीन, शीर्ष लेआउट एनएवी बार के नीचे स्थित है, नीचे लेआउट सबसे कम पिक्सेल होना चाहिए)।

जब VC2 धकेल दिया जाता है, नीचे लेआउट गाइड समय की एक छोटी राशि के दौरान 49 अंक लंबाई है और फिर इसे 0.

है इस समय के दौरान, मेरे subviews जो इस नीचे करने के लिए विवश कर रहे हैं गाइड गलत तरीके से तैनात हैं।

गाइड तो सही ढंग से 0 पर सेट किया जाता है (नेविगेशन नियंत्रक अपने आप में, वहाँ मुझ से कोई कोड इस बारे में है), subviews पदों तो एकदम सही हैं।

cast

यह आईओएस 7.x पर होता है नहीं (एप्लिकेशन 7.0 + का समर्थन करता है) ... मैं बहुत यकीन है कि एक iOS 8 बग है और मैं एक समाधान के लिए देख रहा था, लेकिन मैं नहीं कर सकता ऐसा कुछ ढूंढें जो इसे ठीक करता है।

मैं इस मुद्दे को ध्यान में रखते लेआउट के लिए नेविगेशन controllers'view मजबूर कर हल करने की कोशिश की (विल/किया था) LayoutSubviews, लेकिन यह मदद नहीं की।

मैंने देखा this post संबंधित है, लेकिन सुझाव दिया समाधान काम नहीं करता। वीसी 2 प्रस्तुत करना आम तौर पर इस मुद्दे को हल करता है लेकिन यह स्वीकार्य नहीं है।

आपकी मदद के लिए अग्रिम धन्यवाद, अगर आप अधिक स्पष्टीकरण

+0

धन्यवाद tabbar पारदर्शी सेट करके मेरी समस्या हल हो जाती है, लेकिन है कि समस्या से संबंधित न हो। – Romain

+0

हाय, मैंने आपका डेमो डाउनलोड किया है और पाया है कि आपके व्यू कंट्रोलर में कमांड कमिन है जहां आपने नीचे लेआउट बाधा सेट की है। क्या आप अधिक विशिष्ट हो सकते हैं जहां आपको टैब बार ऊंचाई के ऊपर लेबल को बिल्कुल नीचे की आवश्यकता होती है? –

+0

हाँ यह एक बग है और यह आईओएस 7.1 में हो रहा है, एक्सकोड 5.1.1 का उपयोग करते हुए जब आप MoreNavigationController पर जाते हैं और किसी आइटम का चयन करते हैं। – Borzh

उत्तर

20

मैं एक UIPageViewController के साथ इस तरह एक ऐसी ही समस्या आ रही है की जरूरत है मुझे पता है। कुछ प्रारंभिक शोध के बाद यह एक बग प्रतीत होता है। इसे हल करने में एकमात्र तरीका यह है कि इस तरह के नीचे लेआउट गाइड की बजाय पर्यवेक्षण को सबव्यूव को पिन करना है।

Pin to superview image

बाधा एक बार subview superview से पिन है सम्मान किया जाना प्रतीत होता है।

उम्मीद है कि इससे मदद मिलती है।

+2

पर्यवेक्षण के लिए नीचे लेआउट गाइड से सभी बाधाओं को स्थानांतरित करने से समस्या हल हो गई। मेरे असली प्रोजेक्ट में (एक संलग्न नहीं है) मैंने वास्तव में पहले यह कोशिश की लेकिन मैंने देखा कि मेरे विचार का पर्यवेक्षण भी नीचे लेआउट गाइड पर बाध्य था ... आपकी टिप्पणी और मदद के लिए धन्यवाद! – Romain

3

यदि आप ऑटो लेआउट का उपयोग कर रहे हैं, तो टैबबार नियंत्रक के लिए "किनारों के नीचे-> नीचे बार्स के नीचे" सेटिंग को अनचेक करने और इंटरफ़ेस बिल्डर में इसके सभी व्यू कंट्रोलर को अनचेक करने का प्रयास करें।

+0

जिसने इसे हल किया! – horseshoe7

1

मैं के रूप में अपनी टिप्पणी के लिए कोई

- (void)viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 
    self.tabBarController.tabBar.translucent = NO; 
} 

- (void)viewWillDisappear:(BOOL)animated 
{ 
    [super viewWillDisappear:animated]; 
    self.tabBarController.tabBar.translucent = self.isTabBarTranslucent; 
} 
+0

मुझे नहीं पता कि यह कैसे काम करता है। मैं स्टोरीबोर्ड से पारदर्शी संपत्ति को अनचेक करता हूं, धन्यवाद। –

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