2011-09-19 67 views
0

当用户在键盘上轻击时,我需要知道输入符号是否属于ASCII调色板,否则将其剥离。在iPhone上检查用于ASCII兼容性的键盘输入

所以我需要

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

方法做检查输入字符?

在当前时刻我从输入字符串的ASCII字符,当用户类型的(例如)俄语:

const char* want_strip_not_ascii_chars = [string UTF8string]; 
+0

这意味着使用俄语或日语键盘的用户将无法在该字段中输入任何内容。你确定这是你想要的吗? – jrturton

+0

我会提醒该角色是不允许的。现在情况更糟糕:用户输入一些字符,但另一个字符出现在屏幕上。 – brigadir

+0

这是一个问题吗(你接受我的回答,所以我不确定吗?) – jrturton

回答

1

下面会给你你所问的:

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

虽然请考虑这会阻止使用非ASCII键盘的用户使用您的字段。