0

ユーザーがキーボードをタップするとき、入力記号がASCIIパレットに属しているかどうかを知る必要があり、そうでない場合は削除します。

だから私がする必要があること

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

入力文字をチェックする方法は?

現在、ユーザーが(たとえば)ロシア語で入力すると、入力文字列からASCII文字を取得します。

const char* want_strip_not_ascii_chars = [string UTF8string];
4

1 に答える 1

1

以下はあなたが求めているものをあなたに与えるでしょう:

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

ただし、これにより、非ASCIIキーボードを使用しているユーザーがフィールドを使用できなくなることを考慮してください。

于 2011-09-19T09:16:42.290 に答える