这是我的CollectionView Datasource和Delegate的代码....我在单击一个单元格时无法获得响应(在函数didSelectItemAtIndex中设置了断点)....单击单元格时是否显示触摸
#pragma mark - UICollectionViewFlowLayoutDelegate
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(NHBalancedFlowLayout *)collectionViewLayout preferredSizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
return [[self.images objectAtIndex:indexPath.item] size];
}
#pragma mark - UICollectionViewDataSource
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
{
return 1;
}
- (NSInteger)collectionView:(UICollectionView *)view numberOfItemsInSection:(NSInteger)section;
{
return [self.images count];
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath;
{
ImageCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"ImageCell" forIndexPath:indexPath];
cell.imageView.image = nil;
/**
* Decompress image on background thread before displaying it to prevent lag
*/
NSInteger rowIndex = indexPath.row;
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
UIImage *image = [UIImage decodedImageWithImage:[self.images objectAtIndex:indexPath.item]];
dispatch_async(dispatch_get_main_queue(), ^{
NSIndexPath *currentIndexPathForCell = [collectionView indexPathForCell:cell];
if (currentIndexPathForCell.row == rowIndex)
{
cell.imageView.image = image;
}
});
});
return cell;
}
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
}
- (void)collectionView:(UICollectionView *)collectionView didHighlightItemAtIndexPath:(NSIndexPath *)indexPath
{
}
提前致谢:)
答案 0 :(得分:1)
很抱歉发布了答案而非评论,但由于声誉,我无法做到。 您是否设置了集合视图的delegate和dataSource属性?