2015-12-09 7 views
10

मेरे पास UIViewController है जो UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout को बढ़ाता है।UICollectionView काम नहीं कर रहा है जब विस्तारित LayoutIncludesOpaqueBars को सत्य पर सेट किया गया है

override func viewDidLoad() { 
    super.viewDidLoad() 
    collectionView.delegate = self 
    collectionView.dataSource = self 
    self.extendedLayoutIncludesOpaqueBars = true 

} 

UICollectionviewDelegate और डेटा स्रोत के तरीकों, नहीं बुलाया तो UICollectionview रिक्त लगता है कर रहे हैं। यहां तक ​​कि अगर मैं पुनः लोड डेटा कहता हूं, तो डेटासोर्स विधियों को अभी भी नहीं कहा जाता है।

जब मैं अंतिम पंक्ति को हटाता हूं, तो सब कुछ ठीक काम करता है सिवाय इसके कि दृश्य नीचे नियंत्रक है।

उत्तर

0

edgesForExtendedLayout

असल में, इस संपत्ति के साथ आप सेट अपने को देखने के जो पक्षों पूरे स्क्रीन को कवर करने के लिए बढ़ाया जा सकता है। कल्पना करें कि UIViewController को UINavigationController में दबाएं, जब उस व्यू कंट्रोलर के दृश्य को देखा गया है, तो यह शुरू होगा जहां नेविगेशन बार समाप्त होता है, लेकिन यह प्रॉपर्टी सेट के किनारे सेट करेगी (शीर्ष, बाएं, नीचे , दाएं) पूरी स्क्रीन भरने के लिए बढ़ाया जा सकता है।

आप के इन दो

self.edgesForExtendedLayout = UIRectEdgeNone; 
self.automaticallyAdjustsScrollViewInsets = NO; 

या

self.edgesForExtendedLayout = UIRectEdgeNone; 
self.extendedLayoutIncludesOpaqueBars = YES; 

यह तुम्हारी मदद करेगा हो सकता है एक सेट करना होगा।

+0

मैंने पहले से ही यह कोशिश की है, लेकिन मदद नहीं की। केवल विस्तारित LayoutIncludesOpaqueBars = झूठी अंतरिक्ष को हटा देता है। –

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