入力にUIKeyboardTypeDecimalPadを使用しているiPhoneアプリがありますが、アプリケーションのローカライズを開始するまで問題なく機能していましたが、現在直面している問題は、言語がフランス語またはドイツ語に切り替えられたときに、キーパッドが.
ピリオド ( ) からコンマ ( ) に変わります,
。
現在、このコードを実行して、複数の小数点の入力を制限しています。つまり、12.4.4 このコードでは、12.4 のみを入力できます。
これは問題なく動作しますが、コンマをチェックし、コンマがある場合はユーザー入力を計算用に変換する必要もあります。
コンマとピリオドの両方のキーパッドでの入力を制限するより良い方法はありますか?
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
NSString *currentText = textField.text;
if ([currentText rangeOfString:@"." options:NSBackwardsSearch].length == 0) {
return YES;
} else {
if ([string rangeOfString:@"." options:NSBackwardsSearch].length == 0) {
return YES;
} else {
return NO;
}
}
return NO;
}
ありがとうアーロン