こんにちは、次のコードを使用しているので、システムはテキスト ボックスに入力する数値のみを検証します。これで問題ありません。ただし、1つのテキストフィールドで、おそらく正規表現を使用して、0.5から24までの数値のみを検証する必要があることに気付きました。正規表現を正しく取得する方法を見つけたとしても、関数にどのように組み込むかは数字のみを許可し、0.5 から 24 までの数字のみを許可します。基本的に、人々は 1 日 30 分から 24 時間の間でデバイスを使用することを選択できます。フィールドを 0 のままにするとエラーになります。
私がここでやろうとしたのは、最大24になるように設定されるフィールドであるテキストフィールド2をトラップすることです.
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
// First, create the text that will end up in the input field if you'll return YES:
if (textField == textField2) { }
NSString *resultString = [textField.text stringByReplacingCharactersInRange:range withString:string];
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber* resultingNumber = [numberFormatter numberFromString:resultString];
//[numberFormatter release];
return resultingNumber != nil;
}