비밀번호 입력에 고정 된 숫자 (즉, 6 자리 이상)를 입력하고 싶습니다. 어떻게 구현할 수 있습니까? 모르겠다. 도와주세요. 아래 그림과 같이 구현하고 싶습니다.공백이 있고 숫자가 고정 된 텍스트 필드 비밀번호 필드
0
A
답변
0
감사 @Hardik 샤. 그 링크에서 나는 코드를 수정하고 내가 원하는 내 대답을합니다. 어느 솔루션이 필요한 경우 해당 솔루션을 제공합니다.
1. 텍스트 필드가 비어있을 때 UITextField가 삭제 버튼 이벤트를 지원하지 않으므로 해당 답변에 대해 UITextView를 사용해야합니다.
2. UITextViewDelegate를 가져오고 textview 대리자를 self에 할당하십시오. 텍스트 뷰의 스토리 보드에서 태그 또는 프로그램에서 3.put
self.yourTextView.delegate = self;
1 - 당신은 어떻게 당신이 필요로하는 분야를 텍스트 뷰 많은 (여기 내가 6 텍스트 뷰가 필요합니다).
4. UITextViewDelegate 메서드 (textView : shouldChangeTextInRange : replacementText :)를 구현하고 아래 코드를 추가하십시오. 나는 여기에 내 방법을 주었다.
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if ((textView.text.length == 1) && (text.length == 1))
{
NSInteger nextTag = textView.tag + 1;
UIResponder* nextResponder = [textView.superview viewWithTag:nextTag];
if (!nextResponder)
return NO;
if (nextResponder)
[nextResponder becomeFirstResponder];
}
else if ((textView.text.length == 0) && (text.length == 0))
{
NSInteger nextTag = textView.tag - 1;
UIResponder* nextResponder = [textView.superview viewWithTag:nextTag];
if (!nextResponder)
return NO;
if (nextResponder)
[nextResponder becomeFirstResponder];
}
return YES;
}
다음 링크와 같은 것을 사용할 수 있습니다. https://stackoverflow.com/a/18711677/1092501 –