Проверьте ввод с клавиатуры на ASCII-совместимость на iPhone - PullRequest
0 голосов
/ 19 сентября 2011

Когда пользователь нажимает на клавиатуру, мне нужно знать, относится ли символ ввода к палитре ASCII, и обрезать его иначе.

Так что мне нужно сделать в методе

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

проверить ввод символов?

В настоящий момент я получаю символы ASCII из строки ввода, когда пользователь вводит (например) русский язык:

const char* want_strip_not_ascii_chars = [string UTF8string];

1 Ответ

1 голос
/ 19 сентября 2011

Следующее даст вам то, что вы просите:

-(BOOL) textField: (UITextField*) textField shouldChangeCharactersInRange: (NSRange) range replacementString: (NSString*) string
{
    return [string canBeConvertedToEncoding:NSASCIIStringEncoding];
}

Хотя, пожалуйста, учтите, что это помешает пользователям с клавиатурами не-ASCII использовать ваше поле.

...