2016-04-02 7 views
6

पर अतिरिक्त सफेद-स्थान मेरे पास एक ऐप है जो एक प्रारंभिक वीसी के रूप में एक एनवी कंटोलर का उपयोग करता है, जिसके बाद रूट UIViewContoller होता है जिसमें शीर्ष आधे हिस्से में UIView होता है, और एक UIContainerView तल पर। UIContanerView में, मैं एक काम कर रहे UICollectionView को एम्बेड कर रहा हूं जिसमें छवि बटन शामिल हैं जो विस्तृत दृश्यों पर निर्भर हैं।कंटेनर व्यू के अंदर एक संग्रह दृश्य एम्बेड करना - शीर्ष

समस्या यह है कि सफेद स्थान अब UICollectionView के शीर्ष पर दिखाई देता है। को देखते हुए यह लगभग 64 पिक्सल ऊंचा है, यह एक नव बार 44px + स्थिति पट्टी 20px के एक ghosting प्रतीत होता है = 64.

Extra space of around 64px in my UICollectionView (I set it gray)

और मैं ऊपर स्क्रॉल अगर सब कुछ ठीक लग रहा है और उम्मीद के रूप में काम करता है और

What I expected the launch layout to look like

मेरी स्टोरीबोर्ड का एक टुकड़ा नीचे यह है कि अगर मदद करता है: यह भी मुझे आप को दिखाने के लिए कि मैं क्या लॉंन्च तरह देखने के लिए लेआउट की उम्मीद की अनुमति देता है

Storyboard

+0

यह एक समय हो गया है के बाद से मैं इस समस्या थी और मैं वास्तव में संकल्प :-(याद नहीं है। आईआईआरसी मुद्दा यह है कि कंटेनर व्यू नेविगेशन व्यू के अंदर है और ऑपरेटिंग सिस्टम नेविगेशन व्यू की ऊंचाई से सामग्री को स्थानांतरित करके बहुत उपयोगी होने का प्रयास कर रहा है। अगर मुझे सही तरीके से याद है तो आप कंटेनर व्यू के "लेआउट मार्जिन" की जांच कर सकते हैं। मुझे लगता है कि आपको शीर्ष मार्जिन सेट मिलेगा और आप इसे साफ़ करने का प्रयास कर सकते हैं। –

+0

इसे जांचें ... http://stackoverflow.com/questions/23786198/uicollectionview-how-can-i-remove-the-space-on-top-first-cells-row –

+0

धन्यवाद, मुझे एक पंक्ति में जाने दो उत्तर: 'स्वचालित रूप से समायोजित करेंस्कूलव्यूइन्ससेट्स = झूठी' –

उत्तर

10

हां, ऐसा इसलिए हो सकता है क्योंकि कंटेनर व्यू में एम्बेडेड बाल दृश्य नियंत्रक को इंप्रेशन मिल जाता है, कि यह UINavigationController का प्रत्यक्ष बच्चा है, जो बदले में संग्रह को शीर्ष 64 pt इन्सेट छोड़ देता है।

इस समस्या को हल करने के लिए, अपने बच्चे को देखने के नियंत्रक इंटरफ़ेस बिल्डर में, अचिह्नित scrollview सन्निवेश वाली

In your child view controller interface builder, unmark adjust scrollView insets

समायोजित के रूप में दान सुझाव यह आपकी समस्या

अद्यतन

का समाधान करना चाहिए, हम इसे

पर कॉल करके प्रोग्रामेटिक रूप से ठीक कर सकते हैं
automaticallyAdjustsScrollViewInsets = false 
viewDidLoad में

() अपने UIViewController की

+1

यह है, और ऊपर दिए गए लिंक @ स्कोट थॉम्पसन लिंक से मिले उत्तर से मेल खाता है। मैंने वास्तव में viewDidLoad() में एक पंक्ति रखी है, इसलिए जब मैं अब से महीनों वापस आऊंगा तो यह कम "छुपा" होगा ...; o) स्वचालित रूप से समायोजित करेंक्रॉलव्यूइन्सनेट = झूठी' –

+0

ऐसा लगता है कि दोनों कंटेनर नियंत्रक और बाल नियंत्रक होना चाहिए इसे काम करने के लिए अनचेक किया गया। – Terence

+0

यह केवल नियंत्रक के लिए जरूरी है जिसमें इसमें स्क्रॉल व्यू शामिल है! –

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