UICollectionView'i sadece ikinci kez kullanıyorum ve belki de çiğneyebileceğimden daha fazla ısırdım ama yine de:
Alt sınıflara sahip olduğum özel UICollectionViewCell kullanan bir UICollectionView (myCollectionView) uyguluyorum. Alt sınıflı hücreler (FullReceiptCell) UITableView'leri içerir ve görünüm denetleyicisinin boyutudur. FullReceiptCells arasında yatay kaydırmaya izin vermeye çalışıyorum.
MyCollectionView içeren alt sınıflı UICollectionViewController, bir nav denetleyici yığınına itiliyor. Şu anda myCollectionView loas ve yatay kaydırma etkindir. Ancak, hiçbir hücre görünmez. Bunu teyit ettim
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
çalıştırdı ve 0'dan büyük bir tamsayı döndürüyor. myCollectionView'ın temsilcisinin ve veri kaynağının IB'de alt sınıflı UICollectionViewController'a düzgün şekilde ayarlandığını da onayladım.
Hücrelerin yükleneceği yöntem:
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
aranmıyor.
UICollectionViewController'ı ve bu denetleyicideki viewDidLoad yöntemimi ittiğim yer burasıdır (NOT: initWithBill, normal başlatıcının geçersiz kılınmasıdır):
Önceki ViewControllers .m dosyasında:
FullReceiptViewController *test = [[FullReceiptViewController alloc] initWithBill:currentBill];
test.title = @"Review";
[self.navigationController pushViewController:test animated:YES];
FullReceiptViewController.m'de:
- (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];
Neden aranmadığına dair bir ipucu?