2011-09-19 23 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鍵盤的用戶使用您的字段。