Hanya kedua kalinya saya menggunakan UICollectionView dan mungkin saya telah menggigit lebih dari yang bisa saya kunyah tetapi bagaimanapun:
Saya mengimplementasikan UICollectionView (myCollectionView) yang menggunakan UICollectionViewCell kustom yang telah saya subkelas. Sel subclass (FullReceiptCell) berisi UITableView dan merupakan ukuran viewcontroller. Saya mencoba untuk memungkinkan pengguliran horizontal antara FullReceiptCells.
UICollectionViewController subclass yang berisi myCollectionView sedang didorong ke tumpukan pengontrol nav. Saat ini, loas myCollectionView dan pengguliran horizontal diaktifkan. Namun, tidak ada sel yang terlihat. Saya sudah konfirmasi itu
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
telah berjalan dan mengembalikan integer yang lebih besar dari 0. Saya juga telah mengonfirmasi bahwa delegasi dan sumber data myCollectionView disetel dengan benar di IB ke UICollectionViewController subclass.
Metode di mana sel akan dimuat:
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
tidak dipanggil.
Di sinilah saya mendorong UICollectionViewController dan metode viewDidLoad saya di dalam pengontrol itu (CATATAN: initWithBill adalah menimpa penginisialisasi normal):
Di file ViewControllers .m sebelumnya:
FullReceiptViewController *test = [[FullReceiptViewController alloc] initWithBill:currentBill];
test.title = @"Review";
[self.navigationController pushViewController:test animated:YES];
Di 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];
Ada petunjuk mengapa tidak dipanggil?