Ben eklemek çalışıyorum UIRefreshControl
bir etmek UICollectionView
, ancak sorun toplama görünümü, üst kabın yüksekliği doldurur sürece yenileme denetimi görünmüyor olmasıdır. Başka bir deyişle, koleksiyon görünümü kaydırma gerektirecek kadar uzun değilse, yenileme kontrol görünümünü ortaya çıkarmak için aşağı çekilemez. Koleksiyon ana kabının yüksekliğini aşar aşmaz, aşağı çekilir ve yenileme görünümünü gösterir.
Sadece hızlı bir iOS projeyi kurdunuz UICollectionView
yüzden ekleyebileceğiniz toplama görünümüne bir çıkış ile, ana görünümde içindeki UIRefreshControl
kendisine viewDidLoad
. Yeniden tanımlayıcılı bir prototip hücre de vardırcCell
Bu, denetleyicideki tüm koddur ve sorunu oldukça iyi gösterir. Bu kodda, hücrenin yüksekliğini 100'e ayarladım, bu da ekranı doldurmak için yeterli değildir ve bu nedenle görünüm çekilemez ve yenileme kontrolü gösterilmez. Ekranı doldurmak için daha yüksek bir değere ayarlayın, sonra çalışır. Herhangi bir fikir?
@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