我想要一个添加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);
}