표보기에서 각 셀에는 셀보다 작은 UIView가 있습니다. 사용자가이 UIView를 누르고 UIView 외부에서 셀을 눌렀을 때가 아니라면 Detail View에 segue를 수행하고 싶습니다. UIView에 제스처 인식기를 추가하려고 시도했지만 연결된 메서드가 호출 될 때 어떤 셀이 눌려 졌는지 알지 못합니다. 내가 무엇을 할 수 있을지 ?표 뷰 UI의 UIView 제스처 인식기
답변
태그 속성 (정수)을 각보기에 고유 한 방식으로 지정할 수 있습니다. 예를 들어, 섹션 번호와 행 번호의 조합 인 정수일 수 있습니다. 또는 테이블 데이터 원본의 셀에 대한 개체의 고유 ID입니다.
그러면 인식기에서 태그 값을 분석 할 수 있습니다.
'cellWasSelected : (MYCell *) cell'과 같은 메서드가있는 셀 하위 클래스에서 대리자 프로토콜 (및 일치시킬 대리자 속성)을 만듭니다. cellForRowAtIndexPath :에서 셀을 반환하면 ViewController를 셀의 대리자로 설정합니다. 셀 서브 클래스 내에서 탭핑 된시기를 판별하려는 메커니즘을 추가하십시오. 제스처는 좋습니다. 대리자 메서드를 호출하여 self를 인수로 전달하십시오. 귀하의 ViewController에서 tableview indexOfCell (또는 그와 비슷한 것, 내 머리 꼭대기에서 이름을 기억할 수 없음)을 호출하여 필요한 인덱스 경로를 얻을 수 있습니다. 그런 다음 수동으로 segue를 수행하십시오. '선택된 셀'을 저장하거나 이미 세그가 트리거되어있는 tableView를 사용하여 수동으로 셀을 선택할 수도 있습니다.
CELL에 대리인을 추가해야합니다.
@property (nonatomic,weak) IBOutlet UIView *tappableView;
을하고 그것에 제스처 인식기를 추가 할 수있는 일, 당신도 알다시피, 당신과 같이, 사용자 정의 세포에 UIView
의 참조를 얻을 수 있습니다.
지금,
-(void)didTapViewAtCell:(MyCustomCell*)cell
이 프로토콜을 준수하여 제스처 인식의 대상 방법을 부르는
delegate
을 가지고, 프로토콜을 작성하는 방법을 만들 수 있습니다. 뭔가 ...
[self.delegate didTapViewAtCell:self];
이 프로토콜을 UITableViewController
에 구현하고이 방법을 구현하십시오. 나는 이것이 이것이 가장 좋은 방법이라고 생각한다. :)
- 1. UIView 차단 UIScrollView의 제스처 인식기
- 2. 전체 UIView 용 제스처 인식기
- 3. UIView 하위 클래스의 대리자 및 제스처 인식기
- 4. 제스처 인식기 추가
- 5. 제스처 인식기 및 UIImageView
- 6. 핀치 제스처 인식기
- 7. 오버랩 UIViews가있는 스위프트 제스처 인식기
- 8. uchp 제스처 인식기
- 9. 서브 뷰 아래의 하위보기는 제스처 인식기 기능을 호출하지 않습니다.
- 10. iOS 애니메이션 블록 제스처 인식기
- 11. 버튼 동작시 제스처 인식기 취소
- 12. 특정 제스처 인식기 확인
- 13. 제스처 인식기 PFImageView
- 14. 팬 제스처 인식기 재설정
- 15. UIButton의 긴 제스처 인식기?
- 16. 모든 유형의 제스처 인식기
- 17. 코드에서 제스처 인식기 만들기
- 18. 간단한 제스처 인식기
- 19. cocos2d-iOS - 제스처 인식기
- 20. 단일보기에서 두 제스처 인식기?
- 21. UIPageController 및 제스처 인식기
- 22. 제스처 인식기 별점 시스템
- 23. 제스처 인식기 사용
- 24. iPhone SDK에서 마우스 제스처 인식기
- 25. iOS 7에서 제스처 인식기 조작
- 26. 사용자 정의 UIView 하위 클래스의 제스처 인식기 처리
- 27. TapViewCell.swift에 탭 제스처 인식기 추가
- 28. iPad 제스처 인식기 - 지연된 응답
- 29. MKMapView 이벤트 또는 제스처 인식기
- 30. 아이폰 OS가 - 제스처 인식기 translationInView
응답에 대해서는 Thx이지만 프로토콜에 익숙하지는 않습니다. 프로토콜을 만드는 방법을 좀 더 설명 할 수 있습니까? "이 프로토콜을 준수하는 대리인이 있습니까?"라는 것은 무엇을 의미합니까? 감사합니다 – Coconuts
https://developer.apple.com/library/ios/documentation/general/conceptual/CocoaEncyclopedia/DelegatesandDataSources/DelegatesandDataSources.html 먼저 읽어보십시오. :) – avismara
좋아, 읽을 수는 있지만 잘 이해할 수는 없지만 여전히 프로토콜을 만들고이를 준수하는 대리인을 보유하는 방법을 이해하지 못했습니다. – Coconuts