ฉันพยายามที่จะเพิ่ม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