美文网首页
给UICollectionView添加长按手势

给UICollectionView添加长按手势

作者: ddffsg | 来源:发表于2016-06-18 16:42 被阅读905次

很多时候,我们都需要在项目中添加长按手势,比如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}

}

相关文章

网友评论

      本文标题:给UICollectionView添加长按手势

      本文链接:https://www.haomeiwen.com/subject/dgjpdttx.html