2011-01-13 6 views
0

저는 계정 등록 섹션이있는 응용 프로그램을 만들고 있습니다. 하나의 필드는 secureTextEntry = NO (등록 전용)입니다. 이것은 등록을 더 빨리하고 가입 희망 횟수를 늘리는 것입니다. 일반 UITextField를 배치하는 것만으로도 간단하지만 사용자가 추가 언어 키보드를 사용하는 경우 사용자가 비 암호 친숙한 문자를 입력 할 수 있습니다. 다른 경우와는 달리 secureTextEntry = YES입니다.언어 선택 버튼 표시 안 함 iPhone

은 내가

textField.keyboardType = UIKeyboardTypeASCIICapable 

먼저 ASCII 키보드를 표시 할 텍스트 필드를 취득 할 수있는 알고 있지만, 사용자는 여전히 바람직하지 않은 문자에 도달 할 수 있도록 키보드 스위치 버튼이있을 것이다.

국제 버튼을 사용하지 않고 ASCII 만 키보드를 누르는 간단한 방법이 있습니까?

[편집] 아마도 더 나은 옵션은 멀티 바이트 키보드를 표시하지 않을 수도 있고 텍스트를 표시 할 수도 있습니다. secureTextEntry = YES 여기에 아이디어가 있습니까?

[편집 다시] 비 멀티 바이트 문자가 모두 허용되어야하므로 국제 버튼을 표시하지 않는 것이 좋습니다.

+1

당신은 물었고 누군가 대답 할 시간을 가졌습니다. 이 질문이 삭제되면 올라프는 대답과 담당자를 잃습니다. – Will

답변

0

-(BOOL) textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString*)textEntered을 살펴보십시오.

사용자가 암호가 마음에 들지 않는 내용을 입력하면 제거하십시오. 특정 편지가 받아 들여지지 않는다는 것을 그들이 이해했는지 확인하십시오. 그렇지 않으면 사용자는 키보드를 보지만 화면에는 나타나지 않으며 문자가 암호에 입력 된 단추를 건드렸 기 때문에 추측됩니다.

전체 키보드를 다시 디자인하는 것보다 쉽습니다.

+0

나는 이것을 약간 해봤지만 사용자가 키를 클릭하고 텍스트 필드에 아무 것도 나타나지 않게하는 것이 약간 이상합니다. 사용자 키보드에 ASCII 문자가 없으면 아무 것도 입력 할 수 없습니다. – AWinter

+0

당신의 요점을 봅니다. 다른 한편으로는 내가 얼마나 강력한 암호를 필요로하는지 궁금해. 모든 ASCII 문자 암호는 다소 안전하지 않습니다. – Olaf

+0

더 나은 옵션은 멀티 바이트 키보드를 숨기거나 심지어 secureTextEntry = YES 인 경우 텍스트를 표시하는 것일 수도 있습니다. secureTextEntry = YES는 멀티 바이트를 억제합니다. – AWinter