入力のいずれかが数値および負の数値ではない場合、ボタンのクリック時にエラーメッセージを表示し、他の画面に移動しないようにしたい計算用の多くのtextField入力があります
質問する
332 次
2 に答える
2
ジェームズ、これを処理する方法は少なくとも2つあります。
#1)ストーリーボード/xibファイル内の特定の数値のみのテキストフィールドに数値キーボードを指定する
#2)テキストフィールドのデリゲートを設定し、ユーザーが編集を終えたら(たとえばtextFieldDidEndEditing:
)、テキストフィールドの内容を確認し、数字以外のものが表示された場合は、UIAlertをスローします。
これを行う1つの方法は次のとおりです。
- (void)textFieldDidEndEditing:(UITextField *)textField
{
NSRange rangeOfInvalidCharacter = [textField.text rangeOfCharacterFromSet: [[NSCharacterSet decimalDigitCharacterSet] invertedSet]];
if(rangeOfInvalidCharacter.location != NSNotFound)
{
// throw up a UIAlert here
// and, if you want, erase the bogus text via:
textField.text = @"";
return;
}
// and if we get here, that means the text field contents are only digits.
}
于 2012-05-31T04:22:09.043 に答える
0
このコードを試してください
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
{
NSCharacterSet * set = [[NSCharacterSet characterSetWithCharactersInString:@"0123456789"] invertedSet];
if ([string rangeOfCharacterFromSet:set].location != NSNotFound) {
return NO; // For don't add this character
}
return YES; // For input a true character
}
于 2012-05-31T04:26:43.273 に答える