uitableviewcell添加长按手势 并获取cell
2016-03-26 13:59
375 查看
http://mobile.51cto.com/iphone-403791.htm
UILongPressGestureRecognizer *lpgr = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleLongPress:)];
lpgr.minimumPressDuration = 1.0; //seconds 设置响应时间
lpgr.delegate = self;
[mTableView addGestureRecognizer:lpgr]; //启用长按事件
[lpgr release];
-(void)handleLongPress:(UILongPressGestureRecognizer *)gestureRecognizer //长按响应函数
{
CGPoint p = [gestureRecognizer locationInView:mTableView ];
//if(gestureRecognizer.state == UIGestureRecognizerStateBegan)
//{
//NSLog(@"UIGestureRecognizerStateBegan");
//}
//else if(gestureRecognizer.state == UIGestureRecognizerStateEnded)
//{
//NSLog(@"UIGestureRecognizerStateEnded");
//}
//else if(gestureRecognizer.state == UIGestureRecognizerStateChanged)
//{
//NSLog(@"UIGestureRecognizerStateChanged");
//}
//else if(gestureRecognizer.state == UIGestureRecognizerStateCancelled)
//{
//NSLog(@"UIGestureRecognizerStateCancelled");
//}
//else if(gestureRecognizer.state ==UIGestureRecognizerStateFailed )
//{
//NSLog(@"UIGestureRecognizerStateFailed");
//}
NSIndexPath *indexPath = [mTableview indexPathForRowAtPoint:p];//获取响应的长按的indexpath
if (indexPath == nil)
NSLog(@"long press on table view but not on a row");
else
NSLog(@"long press on table view at row %d", indexPath.row);
}
给UITableView 添加长按手势,识别长按哪一行。
长按手势类UILongPressGestureRecognizer, 属性minimumPressDuration表示最短长按的时间
添加手势代码:
响应长按事件代码:
UILongPressGestureRecognizer *lpgr = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleLongPress:)];
lpgr.minimumPressDuration = 1.0; //seconds 设置响应时间
lpgr.delegate = self;
[mTableView addGestureRecognizer:lpgr]; //启用长按事件
[lpgr release];
-(void)handleLongPress:(UILongPressGestureRecognizer *)gestureRecognizer //长按响应函数
{
CGPoint p = [gestureRecognizer locationInView:mTableView ];
//if(gestureRecognizer.state == UIGestureRecognizerStateBegan)
//{
//NSLog(@"UIGestureRecognizerStateBegan");
//}
//else if(gestureRecognizer.state == UIGestureRecognizerStateEnded)
//{
//NSLog(@"UIGestureRecognizerStateEnded");
//}
//else if(gestureRecognizer.state == UIGestureRecognizerStateChanged)
//{
//NSLog(@"UIGestureRecognizerStateChanged");
//}
//else if(gestureRecognizer.state == UIGestureRecognizerStateCancelled)
//{
//NSLog(@"UIGestureRecognizerStateCancelled");
//}
//else if(gestureRecognizer.state ==UIGestureRecognizerStateFailed )
//{
//NSLog(@"UIGestureRecognizerStateFailed");
//}
NSIndexPath *indexPath = [mTableview indexPathForRowAtPoint:p];//获取响应的长按的indexpath
if (indexPath == nil)
NSLog(@"long press on table view but not on a row");
else
NSLog(@"long press on table view at row %d", indexPath.row);
}
给UITableView 添加长按手势,识别长按哪一行。
长按手势类UILongPressGestureRecognizer, 属性minimumPressDuration表示最短长按的时间
添加手势代码:
UILongPressGestureRecognizer * longPressGr = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressToDo:)]; longPressGr.minimumPressDuration = 1.0; [self.tableView addGestureRecognizer:longPressGr]; [longPressGr release];
响应长按事件代码:
-(void)longPressToDo:(UILongPressGestureRecognizer *)gesture { if(gesture.state == UIGestureRecognizerStateBegan) { CGPoint point = [gesture locationInView:self.tableView]; NSIndexPath * indexPath = [self.tableView indexPathForRowAtPoint:point]; if(indexPath == nil) return ; //add your code here } }
相关文章推荐
- 《iOS Human Interface Guidelines》——Page Control
- PAT (Advanced Level) Practise 1101 Quick Sort (25)
- 获取TrueType字体信息
- TSQL生成Combguid
- PAT (Advanced Level) Practise 1099 Build A Binary Search Tree (30)
- POJ2524 Ubiquitous Religions(并查集)
- UIPanGestureRecognizer学习笔记
- 终于找到了梦想中的前端框架 --- vue.js
- java,二进制转换为十进制,valueof和parseInt的区别
- “ordinal type required”问题解决
- Orchard源码分析(5.3):EndRequest事件处理(DefaultOrchardHost.EndRequest方法)
- Orchard源码分析(5.2):BeginRequest事件处理(DefaultOrchardHost.BeginRequest方法)
- SystemConfig.getPropertyValue("test");配置文件已经加了test=abc,但是取得时候空字符串
- require.js 入门笔记
- UITabBarController 根视图控制器
- HDU Buildings
- String、StringBuffer和StringBuilder使用和区别
- 在storyboard中的静态UITableView中拖入 UISearchBar and Search Display Controller出现的奇怪问题
- HDU 3436 Queue-jumpers
- java Queue集合