เพียงครั้งที่สองของฉันโดยใช้ UICollectionView และบางทีฉันอาจกัดมากกว่าที่ฉันสามารถเคี้ยวได้ แต่อย่างไรก็ตาม:
ฉันกำลังใช้ UICollectionView (myCollectionView) ที่ใช้ UICollectionViewCell แบบกำหนดเองที่ฉันมีคลาสย่อย เซลล์ย่อย (FullReceiptCell) ประกอบด้วย UITableView และเป็นขนาดของวิวคอนโทรลเลอร์ ฉันพยายามอนุญาตให้มีการเลื่อนแนวนอนระหว่าง FullReceiptCells
UICollectionViewController คลาสย่อยที่มี myCollectionView จะถูกพุชไปยังสแต็กคอนโทรลเลอร์ nav ปัจจุบัน myCollectionView loas และการเลื่อนแนวนอนถูกเปิดใช้งาน อย่างไรก็ตามไม่ปรากฏเซลล์ใด ๆ ฉันได้รับการยืนยันว่า
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
ได้รันและส่งคืนจำนวนเต็มที่มากกว่า 0 ฉันยังยืนยันว่าตัวแทนและแหล่งข้อมูลของ myCollectionView ได้รับการตั้งค่าอย่างถูกต้องใน IB เป็น UICollectionViewController คลาสย่อย
วิธีการโหลดเซลล์:
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
ไม่ถูกเรียก
นี่คือที่ที่ฉันกด UICollectionViewController และเมธอด viewDidLoad ของฉันภายในคอนโทรลเลอร์นั้น (หมายเหตุ: initWithBill เป็นการแทนที่ตัวเริ่มต้นปกติ):
ในไฟล์ ViewControllers .m ก่อนหน้านี้:
FullReceiptViewController *test = [[FullReceiptViewController alloc] initWithBill:currentBill];
test.title = @"Review";
[self.navigationController pushViewController:test animated:YES];
ใน FullReceiptViewController.m:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
[self.myCollectionView registerClass:[FullReceiptCell class] forCellWithReuseIdentifier:@"FullReceiptCellIdentifier"];
self.myCollectionView.pagingEnabled = YES;
// Setup flowlayout
self.myCollectionViewFlowLayout = [[UICollectionViewFlowLayout alloc] init];
[self.myCollectionViewFlowLayout setItemSize:CGSizeMake(320, 548)];
[self.myCollectionViewFlowLayout setSectionInset:UIEdgeInsetsMake(0, 0, 0, 0)];
[self.myCollectionViewFlowLayout setScrollDirection:UICollectionViewScrollDirectionHorizontal];
self.myCollectionViewFlowLayout.minimumLineSpacing = 0;
self.myCollectionViewFlowLayout.minimumInteritemSpacing = 0;
[self.myCollectionView setCollectionViewLayout:myCollectionViewFlowLayout];
//testing to see if the collection view is loading
self.myCollectionView.backgroundColor = [UIColor colorWithWhite:0.25f alpha:1.0f];
มีเงื่อนงำว่าทำไมถึงไม่ถูกเรียก?