Тільки вдруге я використовую UICollectionView і, можливо, я відкусив більше, ніж можу жувати, але все-таки:
Я реалізую UICollectionView (myCollectionView), який використовує власні UICollectionViewCell, які я підкласифікував. Підкласові комірки (FullReceiptCell) містять UITableView і мають розмір контролера перегляду. Я намагаюся дозволити горизонтальну прокрутку між FullReceiptCells.
Підклас UICollectionViewController, який містить myCollectionView, пересувається на стек контролера nav. Наразі ввімкнено логотипи myCollectionView та горизонтальну прокрутку. Однак жодних комірок не видно. Я це підтвердив
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
запустив і повертає ціле число, що перевищує 0. Я також підтвердив, що делегат myCollectionView і джерело даних належним чином встановлені в ІБ на підкласи 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];
Будь-яка підказка, чому його не називають?