iOS 개발:didSelectRowAtIndexPath:방법 실효 해결 방법
문제 설명 및 해결 절차:
TableView 공백을 클릭하여 키보드를 종료하는 효과를 얻기 위해 컨트롤러에 UITApGestureRecognizer를 등록하여 클릭 이벤트를 식별하는데 코드는 다음과 같습니다.
1 #pragma mark -
2
3 - (void)setupGestureRecognizer
4 {
5 //
6 UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] init];
7 //
8 tap.delegate = self;
9 // view
10 [self.view addGestureRecognizer:tap];
11 // ( , )
12 [tap addTarget:self action:@selector(tapView)];
13 }
14
15 - (void)tapView
16 {
17 [self.view endEditing:YES];
18 }
그러나 TableView를 클릭한 셀은 점프를 할 수 없음(UITAp Gesture Recognizer에 등록하기 전에는 가능), 모뎀 발견은 -(void)tableView: (UItableView*)tableView didSelectRowAtIndexPath: (NSIndexPath*)indexPath 방법에 들어가지 않았고, 원인을 찾은 후 제스처 식별기를 등록한 후 UITAp Gesturecognizer가 터치 이벤트를 캡처하여 터치 이벤트를 캡처한 것을 발견했습니다.UIGesture Recognizer Delegate 에이전트의 - (BOOL)gesture Recognizer: (UIGesture Recognizer *)gesture Recognizer should Receive Touch: (UItouch *)touch 방법은 특정한 상황에서 터치를 캡처할지 여부를 사용자 정의할 수 있습니다. 코드는 다음과 같습니다.
1 # pragma mark - UIGestureRecognizerDelegate
2
3 - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
4 {
5 // UITableViewCellContentView( tableViewCell), Touch
6 if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) {
7 return NO;
8 }
9
10 return YES;
11 }
요약:
현재 본인의 경험을 보면 UItable ViewCell이 클릭에 응답하지 못하는 사건이 발생하면 다음과 같은 두 가지 이유를 가장 먼저 고려해야 한다.
4
4
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.