2009-12-29 112 views
0

hii我是新來的iPhone世界 如果(字符串isEqualto:@「\ b」),我試圖陷阱退格鍵像 但它不起作用,退格的ascii代碼是8。 有沒有什麼辦法可以獲得後臺密鑰的ascii代碼....如果可能的話,請告訴我代碼如何獲取字符的ascii值。陷阱退格鍵

+1

有可能是一種不同的方式來做你想做的。用戶在哪裏輸入文字? – gerry3 2009-12-29 09:15:27

回答

5

而不是獲取退格的ASCII代碼,請考慮使用委託來捕獲所需的行爲。我知道UITextFieldDelegate是做什麼你想要的:

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

    if([string isEqualToString:@""]) { 
     // Some replacement is taking place where the new string is empty 
     // This implies a backspace (and not a character replacement) 
     // Do your backspace-trapping here 
     return NO; 
    } else { 
     return YES; 
    } 

}
+3

您爲什麼要檢查空字符串而不是查看range.length(插入0,刪除1)的任何特定原因? – 2009-12-29 09:35:34

+0

由於在iPhone OS 3.0+上使用UITextField選項不可靠 - 您可以選擇一段文本並按下一個字母鍵以覆蓋該字母(意思是「range.length」大於0,但沒有按退格鍵)。 – Tim 2009-12-29 14:18:06