당신은 몇 가지 수행해야합니다이 발생하지 않는 경우보기 컨트롤러에
(예를 들어, 사용 textFieldShouldBeginEditing) 활성 텍스트 필드를 추적
캐치 접촉을하고 활성 textField에서 활성 textField가 resignFirstResponder를 일으키고 새 textField가 firstFirstResponder가됩니다.
다음 코드는 검증되지 않은하지만 좋은 출발점이되어야한다. 활성 textField 외부의 다른 것을 탭하면 textField가 포커스를 잃게됩니다.
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [[event allTouches] anyObject];
if ([currentTextView isFirstResponder] && [touch view] != currentTextView) {
[currentTextView resignFirstResponder];
if ([[touch view] isKindOfClass:[UITextField class]])
[[touch view] becomeFirstResponder];
}
[super touchesBegan:touches withEvent:event];
}
감사합니다. – trevrosen