给UICollectionView添加长按手势

很多时候,我们都需要在项目中添加长按手势,比如UICollectionView中,我们长按对某一个item进行删除,那么这时,我们就需要在集合试图中添加长按的手势,手势的添加是简单的,但是添加过手势之后,我们怎么区分我们长按选中的是哪一个item呢

首先,我们先来看看我们是如何添加长按手势的

1.创建集合试图,这个就比较简单了.创建完集合试图,我们在集合试图上面添加长按的手势

UIGestureRecognizerDelegate 先遵从协议


longPressGr =[[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressToDo:)];

longPressGr.minimumPressDuration=1.0;

longPressGr.delegate=self;

longPressGr.delaysTouchesBegan=YES;

[_myCollectionView addGestureRecognizer:longPressGr];

2.我们在longpressToDo里面添加方法

-(void)longPressToDo:(UILongPressGestureRecognizer *)gestureRecognizer

{if(gestureRecognizer.state !=UIGestureRecognizerStateEnded) {return;

}

CGPoint p=[gestureRecognizer locationInView:self.collectionView];

NSIndexPath*indexPath =[self.collectionView indexPathForItemAtPoint:p];if(indexPath ==nil){

NSLog(@"couldn't find index path");

}else{//get the cell at indexPath (the one you long pressed)UICollectionViewCell* cell =[self.collectionView cellForItemAtIndexPath:indexPath];//do stuff with the cell}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容