我是iOS编程的新手,我有一个UICollectionView方法,如下所示:
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
static NSString *identifier = @"Cell";
Cell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath];
[cell mainImage].image =[UIImage imageNamed:[cellImages objectAtIndex:indexPath.row]];
// WHATS HAPPEN AFTER TAP THE VIEW
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapDetected)];
singleTap.numberOfTapsRequired = 1;
[cell mainImage].userInteractionEnabled = YES;
[[cell mainImage] addGestureRecognizer:singleTap];
// cell.backgroundColor =[[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"images-4.png]];
return cell;
}
现在我想在这个方法中添加一个if;如果用户点击我的数组中的最后一个图像然后它调用一个新方法“addtapdetected”并在我的集合视图中添加一个新单元格,现在我很困惑,不知道我应该在哪里设置我的if和如何? 我知道我应该创建一个新的单元格,但不知道在哪里使用...
答案 0 :(得分:0)
首先改变
[cell mainImage].image =[UIImage imageNamed:[cellImages objectAtIndex:indexPath.row]];
到
[cell mainImage].image =[UIImage imageNamed:[cellImages objectAtIndex:indexPath.item]];
在collectionview项目中用于代替行。
其次,如果要在单元格上添加新单元格,则应将此代码放在此方法中
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
您不需要在此方法中使用任何点击手势。它会自动检测用户点击的细胞。