UICollectionViewを使用するのは2回目だけであり、おそらく私が噛むことができる量を超えて噛んでしまいましたが、
サブクラス化したカスタムUICollectionViewCellを使用するUICollectionView(myCollectionView)を実装しています。サブクラス化されたセル(FullReceiptCell)にはUITableViewが含まれており、ビューコントローラーのサイズです。FullReceiptCells間の水平スクロールを可能にしようとしています。
myCollectionViewを含むサブクラス化されたUICollectionViewControllerは、ナビゲーションコントローラースタックにプッシュされます。現在、myCollectionView loasと水平スクロールが有効になっています。ただし、セルは表示されません。私はそれを確認しました
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
が実行され、0より大きい整数を返しています。また、myCollectionViewのデリゲートとデータソースがサブクラス化されたUICollectionViewControllerのIBで適切に設定されていることも確認しました。
セルをロードする方法:
- (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];
なぜ呼び出されないのかについての手がかりはありますか?