1

firstResponderresign으로 어떻게 알 수 있습니까? 나는 TextFields의 무리와 함께 UITableView을 가지고 있으며 나는 언제나 어떤 것이 활성인지 모른다. 배열의 모든 셀에 포인터를 저장하고 그것을 반복하면서 모든 셀에 resignFirstResponder을 말하면서 생각했습니다. 그러나 더 쉬운 방법이 있다고 확신합니다. 어쩌면 [CurrentFirstResponder resignFirstResponder]과 같은 것일까요? 내가 어떤 도움을 주셔서 감사합니다 것어떤 UITextField에게도 알려주지 마십시오.

, 파비안

편집 : 나는 사용자 탭이 완료되면 키보드를 기각하고 싶지 않아요. 프로그래밍 방식으로 해고해야합니다. UITextField이 언제든지 활성화되어 있는지 알지 못하므로 현재 FirstResponderresignFirstResponder을 호출하고 있습니다. 나는이 문제를 해결하기를 희망

답변

3

와 함께 사용 :

UIView * myParentViewView;//view containing one or more editable UI controls 
[myParentViewView endEditing:YES]; 
+0

이제 그 문제가 해결되었습니다 :) 문제는 내 UITextField가 커스텀'UITableViewCell'에 묶여있는 것이지만,'- (void) textFieldDidBeginEditing : (UITextField *) tf'를 다음과 같이 보내는 새로운 델리게이트 메소드를 추가했습니다 : 대의원. 거기에 인스턴스 변수가 있습니다. – fabian789

1

,의 UITextField에

할당 대의원 방법

- (void)textFieldDidBeginEditing:(UITextField *)textField 
    { 
//This for to resign on begin editing 
    [textField resignFirstResponder]; 
    } 

- (void)textFieldDidEndEditing:(UITextField *)textField 
    { 
//This for to resign on end editing 
    [textField resignFirstResponder]; 
    } 

다음 다음

textField.delegate=self; 

당신이 다음 편집 할 수 텍스트 필드에 싶지 않는 경우 ,

textField.editing=NO; 

텍스트를 distingush하도록 태그를 설정하십시오.

0

단순히 UITextFieldDelegate (reference)를 사용하십시오. - (BOOL)textFieldShouldReturn:(UITextField *)textField이 호출 될 때마다 [textField resignFirstResponder]을 수행하십시오.이 메서드는 항상 현재 활성 텍스트 필드로 호출되기 때문에 수행하십시오. 당신은 여전히 ​​당신의 텍스트 필드를 구분해야하는 경우 , 당신은 적극적으로 UITextFieldDelegate ProtocoltextFieldDidBeginEditing:를 사용하여 편집 년대 UITextfeild에 대한 참조를 유지할 수 또는 당신이 당신의 부모도 함께 할 수있는 태그를 설정하려고 if(textfield.tag == self.mytextfield.tag) {...}

+0

내 질문이 업데이트되어 명확 해집니다. – fabian789

관련 문제