2015-01-26 13 views
0

-textFieldDidBeginEditing 후에 -endEditing에 대한 tableView에 UITapGestureRecognizer를 사용합니다. 먼저 -endEditing을 만들고이 터치를 tableView 요소에서 수행하려고합니다. 어떻게하면됩니까?UITapGestureRecognizer의 -locationInView에 의한 초기화 터치

#pragma mark - Text Field Delegate 

- (void)textFieldDidBeginEditing:(UITextField *)textField { 
    UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(finishEditing:)]; 
    [self.tableView addGestureRecognizer:tapRecognizer]; 
} 

- (void)finishEditing:(UITapGestureRecognizer *)tapRecognizer { 
    [self.view endEditing:YES]; 

} 

- (void)textFieldDidEndEditing:(UITextField *)textField { 
    [self saveName]; 
} 
+0

here 당신이 당신이 요구하는 것이 무엇인지에 대해 명확하게 할 수있는 기준을 참조하십시오? –

+0

@Ian MacDonald 이봐 요, 나는 UITableView의 맨 위에 UITextField가 있습니다. 텍스트 편집을 시작할 때 sendTendEditing에 대한 내 tableView에 UITapGestureRecognizer를 배치하여 키보드를 닫고 변경 사항을 저장합니다. 가장 흥미로운 부분은 다음과 같습니다. 위의 모든 작업을 수행 한 후에 셀의 액션을 구현해야합니다! 희망이 도움이! – Lyanch

답변

0

cancelsTouchesInView을 false로 설정하면보기가 전체적으로 전달됩니다. withEvent :이 속성이 true (디폴트)와 수신기가 의 제스처를 인식하면

이 보류되는 제스처의 터치하지 보기로 전달되어 이전에 전달 접촉이 touchesCancelled을 통해 을 취소하다 : 메시지가보기로 전송되었습니다. 제스처 인식기가 제스처를 인식하지 못하거나 값이 false 인 경우보기는 멀티 터치 시퀀스의 모든 터치를받습니다.

+0

대단히 감사합니다! – Lyanch