- UILongPressGestureRecognizer *lpgr = [[UILongPressGestureRecognizer alloc]
- initWithTarget:self action:@selector(handleLongPress:)];
- lpgr.minimumPressDuration = 1.0; //seconds
- lpgr.delegate = self;
- [tv addGestureRecognizer:lpgr];
- [lpgr release];
- <pre name="code" class="objective-c">-(void)handleLongPress:(UILongPressGestureRecognizer *)gestureRecognizer
- {
- CGPoint p = [gestureRecognizer locationInView:tv];
- 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 = [tv indexPathForRowAtPoint:p];
- 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);
- // if([delegate respondsToSelector:@selector(regionBoatsDetailViewCtrlDidLongPressAt:)])
- // [delegate regionBoatsDetailViewCtrlDidLongPressAt: [subDetailDataArray objectAtIndex:indexPath.row]];
- }
- </pre>