ユーザーがテキストフィールドにコンテンツを入力しているときに、次の方法を使用して数字以外の文字を除外しています。
#define NUMBERS @"0123456789"
- (BOOL)textField:(UITextField *)textFieldBeingChanged shouldChangeCharactersInRange:(NSRange) range replacementString:(NSString *)string
{
NSCharacterSet *cs;
NSString *filtered;
// Check for period
if ([textFieldBeingChanged.text rangeOfString:@"."].location == NSNotFound)
{
cs = [[NSCharacterSet characterSetWithCharactersInString:NUMBERS] invertedSet];
filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];
return [string isEqualToString:filtered];
}
}
ただし、キーボードのReturnキーもブロックされます。つまり、「return」キーを押すと、resignFirstResponderのコードが呼び出されません。これを解決する方法はありますか?'return'キーが押されたかどうかを確認するにはどうすればよいですか?
ありがとうA