2012-12-20 17 views
6

मैं प्रोजेक्ट पर काम कर रहा हूं, इसमें वेब डेटा से संग्रह दृश्य में प्रदर्शित छवियों की संख्या है।संग्रह दृश्य IOS 6 अंक

मैं लागू कर दिया है WaterFlowLayout संग्रह दृश्य ओपन सोर्स Github परियोजना https://github.com/aceisScope/WaterflowView

छवियाँ गतिशील संग्रह दृश्य छवि सरणी के बताए जाते हैं ..

यह ठीक काम कर रहा है, तो संग्रह दृश्य स्रोत छवियों 3 या उससे अधिक भरोसा करते हैं। ।

लेकिन अगर छवि प्रदर्शित करने के लिए की तुलना में कम से कम 3 भी संग्रह दृश्य में दिखाई नहीं दे रहा है .. डेमो परियोजना में है गिनती अपनी हो रहा एक ही ..

एक और चीज जिसे मैंने रीफ्रेश करने के लिए भी लागू किया है, लेकिन लगभग 12 छवियों को एकल पृष्ठ में प्रदर्शित किया जा सकता है और अगर छवि गणना संग्रह से अधिक 13 से अधिक है तो स्क्रॉलिंग ठीक काम कर रही है और मैं रीफ्रेश करने के लिए खींचने में सक्षम हूं लेकिन छवि गणना 12 से कम है, मैं पुल दृश्य को रीफ्रेश करने के लिए पुल तक पहुंचने में सक्षम नहीं हूं।

यदि संख्याऑफइटम्सइसेक्शन 3 है और संख्याऑफ कॉलम इनफ्लोलाइटआउट भी 3 का मतलब है कि कोड की तुलना में एक पूर्ण पंक्ति ठीक काम करेगी।

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section 
    { 
     return 3; 
    } 

#pragma mark- UICollectionViewDatasourceFlowLayout 
    - (NSInteger)numberOfColumnsInFlowLayout:(WaterFlowLayout*)flowlayout 
    { 
     return 3; 
    } 

लेकिन अगर numberOfItemsInSection 2 और numberOfColumnsInFlowLayout भी है 3 अपने एक पूर्ण पंक्ति मैं छवियों को प्रदर्शित करने में सक्षम नहीं हूँ नहीं पूरा करता है मतलब है।

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section 
    { 
     return 2; 
    } 

#pragma mark- UICollectionViewDatasourceFlowLayout 
    - (NSInteger)numberOfColumnsInFlowLayout:(WaterFlowLayout*)flowlayout 
    { 
     return 3; 
    } 

और किसी को भी भी ताज़ा करने के लिए भले ही मिलान दृश्य डिफ़ॉल्ट स्क्रॉल सक्रिय नहीं है पुल सक्षम करने के लिए कुछ चाल कर सकते हैं सुझाव ..

अग्रिम धन्यवाद ...

+1

अगर आप numberOfColumns के लिए 2 वापसी क्या होता है जब की संख्या आइटम 2 है? क्या यह तब प्रदर्शित होता है? – rdelmar

+0

हां से प्रदर्शित है। – p1nt0z

उत्तर

4

आप WaterFlowLayout लंघन पर विचार हो सकता भंडार और बस UICollectionView बजाय का उपयोग करें:

  1. UICollectionView के साथ आरंभ करने, ब्रायन द्वारा this excellent tutorial पर एक नज़र हैनसेन। यह आपको UICollectionView से परिचित कराएगा।

    UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init]; 
    [refreshControl addTarget:self action:@selector(startRefresh:) forControlEvents:UIControlEventValueChanged]; 
    [self.collectionView addSubview:refreshControl]; 
    
  2. एक Pinterest- को लागू करने के लिए:

  3. आप UICollectionView का उपयोग कर रहे हैं, तो आप कोड के कुछ ही लाइनों के साथ एक पुल-टू-ताज़ा नियंत्रण अपने UICollectionViewController के में viewDidLoad विधि जोड़ सकते हैं शैली झरना लेआउट, तो आप इस UICollectionViewLayout GitHub भंडार, या अन्य खजाने है कि वहाँ बाहर हैं की किसी भी संख्या का उपयोग कर सकते हैं: https://github.com/jayslu/JSPintDemo

+0

लेकिन मेरी छवियों में गिनती 12 से कम है, छवियों में एकल कॉलेशन व्यू पेज के भीतर fites हैं, मैं स्क्रॉल करने में सक्षम नहीं हूं .. और यदि स्क्रॉलिंग अक्षम है तो मैं रीफ्रेश करने के लिए पुल का उपयोग नहीं कर सकता। इसलिए किसी भी विधि को हमेशा कॉलेशन व्यू स्क्रॉलिंग को सक्षम करने की इजाजत दी जाएगी, भले ही इसमें कम संख्या में आइटम हो .. – p1nt0z