17

私は持ってい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 が初めてロードされるときに、 in に基づいて一部のアイテムがプログラムで選択されることobjectIdですCellTasteCollectionView

これが私がこれをやっている方法です:

- (void)collectionView:(UICollectionView *)collectionView 
         didSelectItemAtIndexPath:(NSIndexPath *)indexPath{

    Taste *taste = [self.pageTastes objectAtIndex:indexPath.item];
    printf("%s\n", [taste.objectId UTF8String]);
}

ユーザーがアイテムをクリックしたときに呼び出されます-これは私が望んでいるものではありません:UICollectionViewロード時にアイテムが自動的に選択されるようにします。

どうすればいいですか?

4

4 に答える 4

23

UICollectionView Class Referenceからこのメソッドが欠落していると思います:

- (void)selectItemAtIndexPath:(NSIndexPath *)indexPath 
                     animated:(BOOL)animated 
               scrollPosition:(UICollectionViewScrollPosition)scrollPosition

複数の選択が必要な場合は、この方法を複数回使用できます。

于 2012-11-01T13:13:41.757 に答える