UITextField 应仅接受正整数,并发出警报消息以供休息



我需要编写什么代码才能使我的UITextField仅接受正整数(整数(,而不是将键盘类型设置为仅数字。并且它应该在用户输入字符/分数/负数/特殊字符时提醒用户。请告诉我。谢谢。

您可以实现 UITextFieldDelegate 方法

-(BOOL)textFieldShouldReturn:(UITextField *)textField {}

在其中,您可以检查 textField 的 text 属性,并使用 NSNumberFormatter 类方法 numberFromString: 将其转换为 NSNumber,并查看 intValue 是否为正数。

我所做的是创建验证函数,每次触发 UITextFieldDelegate 方法 - textFieldDidEndEditing 时我都会调用它。

另一个选项是在保存信息时验证末尾的所有字段。

对于整数,我发现以下内容效果很好(使用 NSScanner(:

- (bool)validateFields {
    if (textField.text.length > 0) {
        NSScanner *scanner = [NSScanner scannerWithString: textField.text.length.text];
        double d;
        BOOL success = [scanner scanDouble:&d];
        if (!success) {
            return false;
        }
        else
        {
            if(d < 0)
            {
                return false;
            }
        }
    }
}

希望这有帮助。

我不知道

是否有更好的方法,但是您可以使用UITextFieldDelegate - textFieldDidEndEdit并自己证明输入的文本,如果有人输入了"错误"的内容,请显示警报控制器

相关内容

  • 没有找到相关文章

最新更新