Ich versuche, a UIRefreshControl
zu einem hinzuzufügen UICollectionView
, aber das Problem ist, dass das Aktualisierungssteuerelement nur angezeigt wird, wenn die Sammlungsansicht die Höhe des übergeordneten Containers ausfüllt. Mit anderen Worten, es sei denn, die Sammlungsansicht ist lang genug, um einen Bildlauf zu erfordern, kann nicht nach unten gezogen werden, um die Aktualisierungssteuerungsansicht anzuzeigen. Sobald die Sammlung die Höhe ihres übergeordneten Containers überschreitet, wird sie heruntergezogen und zeigt die Aktualisierungsansicht an.
Ich habe ein schnelles iOS - Projekt mit nur einem aufgerichteten UICollectionView
so innerhalb der Hauptansicht mit einem Auslass die Sammlung Ansicht , dass ich das hinzufügen kann , UIRefreshControl
um es in viewDidLoad
. Es gibt auch eine Prototypzelle mit der WiederverwendungskennungcCell
Dies ist der gesamte Code im Controller und zeigt das Problem ziemlich gut. In diesem Code habe ich die Höhe der Zelle auf 100 gesetzt, was nicht ausreicht, um die Anzeige zu füllen. Daher kann die Ansicht nicht gezogen werden und das Aktualisierungssteuerelement wird nicht angezeigt. Stellen Sie einen höheren Wert ein, um die Anzeige zu füllen, dann funktioniert es. Irgendwelche Ideen?
@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