私が追加しようとしているUIRefreshControl
のUICollectionView
が、問題がコレクションビューは、親コンテナの高さをいっぱいにしない限り、リフレッシュ制御が表示されないということです。言い換えると、コレクションビューがスクロールを必要とするほど長い場合を除いて、コレクションコントロールをプルダウンして更新コントロールビューを表示することはできません。コレクションが親コンテナの高さを超えるとすぐに、コレクションがプルダウンされ、更新ビューが表示されます。
私はUICollectionView
、メインビューの内側にコレクションビューへのアウトレットを備えた簡単なiOSプロジェクトを設定しました。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