Я намагаюся додати UIRefreshControl
до UICollectionView
, але проблема полягає в тому , що контроль оновлення не відображається , якщо вид колекції не заповнює висоту батьківського контейнера. Іншими словами, якщо представлення колекції не є достатньо довгим, щоб вимагати прокрутки, його не можна знімати, щоб відкрити подання контролю оновлення. Як тільки колекція перевищує висоту свого батьківського контейнера, вона витягується вниз і відкриває вид оновлення.
Я створив швидкий iOS-проект із лише 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