나는를 추가하기 위해 노력하고있어 UIRefreshControl
A를 UICollectionView
하지만, 문제는 콜렉션 뷰는 부모 컨테이너의 높이를 채워하지 않는 한 리프레시 제어가 나타나지 않는다는 것입니다. 즉, 컬렉션보기가 스크롤을 요구할만큼 길지 않은 경우 풀다운하여 새로 고침 제어보기를 표시 할 수 없습니다. 컬렉션이 부모 컨테이너의 높이를 초과하자마자 컬렉션이 내려지고 새로 고침보기가 표시됩니다.
난 그냥와 빠른 아이폰 OS 프로젝트 설정 한 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