У меня есть UICollectionViewController
:
- (NSInteger)collectionView:(UICollectionView *)collectionView
numberOfItemsInSection:(NSInteger)section {
return [self.pageTastes count];
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView
cellForItemAtIndexPath:(NSIndexPath *)indexPath {
CellTasteCollectionView *cell =
[collectionView dequeueReusableCellWithReuseIdentifier:@"Cell"
forIndexPath:indexPath];
Taste *taste = [self.pageTastes objectAtIndex:indexPath.item];
[[cell imageView] setImage:taste.image];
[cell setObjectId:taste.objectId];
return cell;
}
Это работает. У меня это в viewDidLoad
, позволяя пользователю выбирать несколько элементов:
[self.collectionView setAllowsMultipleSelection:YES];
Что я хочу иметь, так это то, что при первом запуске CollectionView некоторые элементы выбираются программно, основываясь на их objectId
в CellTasteCollectionView
.
Вот как я это делаю:
- (void)collectionView:(UICollectionView *)collectionView
didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
Taste *taste = [self.pageTastes objectAtIndex:indexPath.item];
printf("%s\n", [taste.objectId UTF8String]);
}
Он вызывается, когда пользователь нажимает на элемент - это не то, что я хочу: я хочу, чтобы элемент выбирался автоматически при загрузке UICollectionView
.
Как это сделать?