मैं एक जोड़ने के लिए कोशिश कर रहा हूँ UIRefreshControl
एक करने के लिए UICollectionView
है, लेकिन समस्या यह है कि ताज़ा नियंत्रण जब तक संग्रह दृश्य अपनी मूल कंटेनर की ऊंचाई भरता प्रकट नहीं होता है। दूसरे शब्दों में, जब तक कि संग्रह दृश्य को स्क्रॉलिंग की आवश्यकता के लिए पर्याप्त नहीं है, इसे ताज़ा नियंत्रण दृश्य को प्रकट करने के लिए नीचे नहीं खींचा जा सकता। जैसे ही संग्रह अपने मूल कंटेनर की ऊंचाई से अधिक हो जाता है, इसे नीचे खींच लिया जाता है और ताज़ा दृश्य का पता चलता है।
मैं सिर्फ एक के साथ एक त्वरित आईओएस परियोजना की स्थापना की है UICollectionView
संग्रह दृश्य इतना है कि मैं जोड़ सकते हैं करने के लिए एक आउटलेट के साथ मुख्य दृश्य के अंदर, UIRefreshControl
में इसे करने के लिए viewDidLoad
। पुन: पहचानकर्ता के साथ एक प्रोटोटाइप सेल भी हैcCell
यह नियंत्रक में सभी कोड है, और यह इस मुद्दे को बहुत अच्छी तरह से प्रदर्शित करता है। इस कोड में मैंने सेल की ऊँचाई 100 तक निर्धारित की है, जो डिस्प्ले को भरने के लिए पर्याप्त नहीं है, और इसलिए दृश्य को खींचा नहीं जा सकता है और ताज़ा नियंत्रण दिखाई नहीं देगा। प्रदर्शन को भरने के लिए इसे कुछ उच्च पर सेट करें, फिर यह काम करता है। कोई विचार?
@interface ViewController () <UICollectionViewDelegateFlowLayout, UICollectionViewDataSource>
@property (strong, nonatomic) IBOutlet UICollectionView *collectionView;
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];
[self.collectionView addSubview:refreshControl];
}
-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView {
return 1;
}
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
return 1;
}
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
return [collectionView dequeueReusableCellWithReuseIdentifier:@"cCell" forIndexPath:indexPath];
}
-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
return CGSizeMake(self.view.frame.size.width, 100);
}
alwaysBounceVertical