2010-06-11 2 views
2

안녕하세요 모두 비밀번호를 입력 할 수있는 네 개의 텍스트 필드가 있습니다. "1 2 3 4"라고 입력하면 "1"을 입력하자마자 자동으로 두 번째 상자로 점프하는 방법이 있습니까? 등등?iphone textfield 포커스를 보낼 필드

답변

4

UITextViewDelegate를 사용하여 입력을 감지 한 후 다음 텍스트 필드에서 becomeFirstResponder를 호출하십시오.

2

당신은 당신의 클래스가 UITesxtFieldDelegate을 준수하고 다음 사용자가 텍스트를 입력 할 때마다

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { 

    if(texField == textfield1) 
    { 
     if([textfield1.text isEqualToString: @"1"]) 
     { 
      [textfield1 resignFirstResponder]; 
      [textfield2 becomeFirstResponder]; 
     }  
    } 
    else if(texField == textfield2) 
    ...... // write similar code 
} 

텍스트 필드는이 메서드를 호출 대리자 메서드를 사용하거나 텍스트 필드에서 텍스트를 삭제해야합니다. 또한이 메서드를 호출해야하는 각 텍스트 필드에 대해 viewdidload 메서드 textfield1.delegate=self;을 설정해야합니다. 자세한 내용은 UITextFieldDelegate에 대한 문서를 참조하십시오.