UITableView에 UILongPressGestureRecognizer를 등록 후 해당 제스처의 포지션을 가져와 리스트의 인덱스 포인터를 뽑아오면 됩니다.
테이블 뷰 제스처 등록
//mailList는 UITableView 입니다.
UILongPressGestureRecognizer* longClickEvent = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longClickCell:)];
[mailList addGestureRecognizer:longClickEvent];
[longClickEvent release];
제스쳐 핸들러 부분
- (void)longClickCell:(UILongPressGestureRecognizer *)sender
{
//제스처 종료 시점에 실행
if (sender.state == UIGestureRecognizerStateEnded){
// 해당 뷰의 선택된 영역의 CGPoint를 가져온다.
CGPoint currentTouchPosition = [sender locationInView:[sender view]];
// 테이블 뷰의 위치의 Cell의 indexPath를 가져온다
NSIndexPath *indexPath = [mailList indexPathForRowAtPoint:currentTouchPosition];
NSLog(@"포지션 %i",indexPath.row);
//원하는 부분의 정보를 변경 후
Info *info = [ArrayList objectAtIndex:indexPath.row];
info.longClickCheck = YES;
//리스트뷰를 리로드 하면 변경된 화면을볼 수 있다.
[mailList reloadData];
}
}
'iPhone' 카테고리의 다른 글
ios 화면 회전상태 확인 코드, os 버전 확인 코드 (0) | 2014.09.24 |
---|---|
ios 배포버전 로그(NSLog) 숨기기 (0) | 2013.08.30 |
ios Exception Type signal (0) | 2013.05.06 |
ios 메모리 에러 찾기 NSZombieEnabled 추가 (0) | 2013.04.08 |
ios 날짜 비교 (0) | 2012.12.11 |