ユーザーが住所を入力するための UITextField があります。フィールドのキーボードを適切にデフォルトに設定しました。
ほとんどの人の住所は数字で始まるため、ユーザーが既に .?123 キーを押したかのように、デフォルトで数字モードにしたいと考えています。そうすれば、アドレスの数字部分の入力をすぐに開始でき、スペースバーを押すとすぐに、すぐにアルファに戻ります。
これは可能ですか?
ユーザーが住所を入力するための UITextField があります。フィールドのキーボードを適切にデフォルトに設定しました。
ほとんどの人の住所は数字で始まるため、ユーザーが既に .?123 キーを押したかのように、デフォルトで数字モードにしたいと考えています。そうすれば、アドレスの数字部分の入力をすぐに開始でき、スペースバーを押すとすぐに、すぐにアルファに戻ります。
これは可能ですか?
現在、これを行う設定やオプションはありません。UITextFieldTextDidChangeNotification
デリゲート メソッドを介して、またはtextField:shouldChangeCharactersInRange:replacementString:
デリゲート メソッドを使用して通知を使用してスペース キーの入力を監視し、キーボードを切り替えることにより、プログラムで行う必要があります。
iOS では、UIKeyboardTypeNumbersAndPunctuation を使用している場合でも、スペース バーの後にアルファベット キーボードに切り替わっていました。これは 5.0 で修正されました。
フィールドのキーボード タイプを切り替えると、実際には、次に表示されるときにどのキーボードを使用するかを指定しているだけです。キーボードが既に表示されている場合は、タイプを切り替えても変更されません。したがって、キーボードを非表示にし、タイプを切り替えてから、もう一度表示します。
[textField1 resignFirstResponder];
[textField1.keyboardType = UIKeyboardTypeAlphabet];
[textField1 becomeFirstResponder];