与UICollectionView混淆

时间:2014-02-07 14:29:41

标签: iphone uicollectionview uicollectionviewcell

我是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和如何? 我知道我应该创建一个新的单元格,但不知道在哪里使用...

1 个答案:

答案 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

您不需要在此方法中使用任何点击手势。它会自动检测用户点击的细胞。