我有很多用于计算的文本字段输入,如果任何输入不是数字和负数,那么它会在按钮单击时显示错误消息,而不是移动到另一个屏幕
问问题
332 次
2 回答
2
詹姆斯,至少有几种方法可以解决这个问题。
#1)为情节提要/xib 文件中那些特定的纯数字文本字段指定数字键盘
#2) 为文本字段设置一个委托,当用户完成编辑(例如textFieldDidEndEditing:
)时,查看文本字段的内容,如果您看到任何不是数字的内容,则抛出 UIAlert。
一种方法是:
- (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 回答