ios – 在UICollectionView中以编程方式选择项目

前端之家收集整理的这篇文章主要介绍了ios – 在UICollectionView中以编程方式选择项目前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个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加载,一些项目通过编程方式选择,基于它们在CellTasteCollectionView中的objectId.

这是我这样做的:

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

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

用户点击该项目时调用 – 这不是我想要的:我希望在加载UICollectionView时自动选择该项目.

我该如何做?

解决方法

我想你从 UICollectionView Class Reference错过了这个方法
- (void)selectItemAtIndexPath:(NSIndexPath *)indexPath 
                     animated:(BOOL)animated 
               scrollPosition:(UICollectionViewScrollPosition)scrollPosition

如果需要多次选择,可以多次使用此方法.

原文链接:https://www.f2er.com/iOS/336167.html

猜你在找的iOS相关文章