UITableViewCell 添加长按手势

  1. UILongPressGestureRecognizer *lpgr = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleLongPress:)];
  2. lpgr.minimumPressDuration = 1.0; //seconds  设置响应时间
  3. lpgr.delegate = self;
  4. [mTableView addGestureRecognizer:lpgr]; //启用长按事件
  5. [lpgr release];
  6. -(void)handleLongPress:(UILongPressGestureRecognizer *)gestureRecognizer  //长按响应函数
  7. {
  8. CGPoint p = [gestureRecognizer locationInView:mTableView ];
  9. //if(gestureRecognizer.state == UIGestureRecognizerStateBegan)
  10. //{
  11. //NSLog(@"UIGestureRecognizerStateBegan");
  12. //}
  13. //else if(gestureRecognizer.state == UIGestureRecognizerStateEnded)
  14. //{
  15. //NSLog(@"UIGestureRecognizerStateEnded");
  16. //}
  17. //else if(gestureRecognizer.state == UIGestureRecognizerStateChanged)
  18. //{
  19. //NSLog(@"UIGestureRecognizerStateChanged");
  20. //}
  21. //else if(gestureRecognizer.state == UIGestureRecognizerStateCancelled)
  22. //{
  23. //NSLog(@"UIGestureRecognizerStateCancelled");
  24. //}
  25. //else if(gestureRecognizer.state ==UIGestureRecognizerStateFailed )
  26. //{
  27. //NSLog(@"UIGestureRecognizerStateFailed");
  28. //}
  29. NSIndexPath *indexPath = [mTableview indexPathForRowAtPoint:p];//获取响应的长按的indexpath
  30. if (indexPath == nil)
  31. NSLog(@"long press on table view but not on a row");
  32. else
  33. NSLog(@"long press on table view at row %d", indexPath.row);
  34. }
时间: 2024-10-05 08:17:22

UITableViewCell 添加长按手势的相关文章

ios开发-给cell添加长按手势

业务需要给cell添加一个长按手势 //需要在这个方法里添加 -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ //添加长按手势 UILongPressGestureRecognizer * longPressGesture =[[UILongPressGestureRecognizer alloc]initWithTarget:self a

给button添加长按手势并侦测到此button

1, 添加手势 self.longPressRecognizer = [[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(handleLongPress:)];[btn addGestureRecognizer:self.longPressRecognizer]; 2,得到当前执行长点选的button - (void)handleLongPress:(UILongPressGestureRecogni

UICollectionView添加长按手势,长按选中某一个item

很多时候,我们都需要在项目中添加长按手势,比如UICollectionView中,我们长按对某一个item进行删除,那么这时,我们就需要在集合试图中添加长按的手势,手势的添加是简单的,但是添加过手势之后,我们怎么区分我们长按选中的是哪一个item呢 首先,我们先来看看我们是如何添加长按手势的 1.创建集合试图,这个就比较简单了.创建完集合试图,我们在集合试图上面添加长按的手势 UIGestureRecognizerDelegate 先遵从协议 longPressGr = [[UILongPres

IOS给tableview的cell添加长按手势执行两次(UILongPressGestureRecognizer)

这里我们为tableview添加长按手势 UILongPressGestureRecognizer *longPressGr = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressAction:)]; longPressGr.minimumPressDuration = 0.5f; longPressGr.numberOfTouchesRequired = 1; [_tableV

ios 实现在tableViewCell上面添加长按手势 删除该条cell以及列表后台数据等

自己的代码  需要   把属性更改成自己要使用的 //创建长按手势 在cellForRowAtIndexPath代理方法中 UILongPressGestureRecognizer *longPressGR = [[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(lpGR:)]; //设定最小的长按时间 按不够这个时间不响应手势 longPressGR.minimumPressDuration = 1

UITableView 长按手势

目录: 你需要什么? 如何做? 如何将其利用至UICollectionView上? 何去何从? 本次的 cookbook-style 教程中介绍如何通过长按手势来移动 table view中的cell,这种操作方式就像苹果自家的天气 App 一样. 你可以直接把本文中的到吗添加到你的工程中,或者将其添加到我为你创建好的 starter project 中,也可以下载本文的完整示例工程. 你需要什么? UILongGestureRecognizer UITableView (可以用 UIColle

手势操作(单击手势,长按手势,策划手势)

1.策划手势操作 // // ViewController.m // 1-28策划手势 // // Created by ma c on 16/1/28. // Copyright © 2016年 bjsxt. All rights reserved. // #import "ViewController.h" @interface ViewController () @property (strong, nonatomic) UISwipeGestureRecognizer *rec

ios8 UITableViewCell添加view出现错乱的原因

ios8 UITableViewCell添加view出现错乱的原因: - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath返回的高度小于44,解决的办法只需高度大于44就哦了.

iOS长按手势调用两次解决方法

由于以前没有很细致的研究过长按手势,所以今天使用的时候发现长按手势会调用两次响应事件. 主要原因是长按手势会分别在UIGestureRecognizerStateBegan和UIGestureRecognizerStateEnded状态时调用响应函数 这时就需要在响应事件中增加手势状态的判断,根据具体的应用情况在相应的状态中执行操作. typedefNS_ENUM(NSInteger, UIGestureRecognizerState) { UIGestureRecognizerStatePos