UITextfield只允许一个小数

时间:2016-01-09 16:48:50

标签: swift uitextfield

如何让用户在语言Swift中只在文本字段中插入一个小数。在网站上有很多帮助,但它们都不起作用,因为它们都是Swift 1代码。先感谢您。

1 个答案:

答案 0 :(得分:0)

首先,您应该使您的类符合UITextFieldDelegate协议,如下所示:

class YourViewController: UIViewController, UITextFieldDelegate

然后,您应该将textField的委托设置为self:

yourTextField.delegate = self

最后,每当UITextField的内容发生变化时,都会调用此委托方法,因此请将其添加到视图控制器中。

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {

   //handle changes here

}

如果您只想显示一个字符,则可以禁止更改UITextField内容已填写的内容:

if yourTextField.text?.characters.count > 0 {

       return false

    }

    return true

如果您只想允许十进制字符,也可以检查这一点,并将条件添加到if查询。