如何限制UITextField在Swift中只接受数字?
在iOS应用中,有时我们需要将文本字段限制为仅将数字作为输入,这可以通过多种方式完成,下面让我们来看一些。
方法1:从情节提要中更改文本字段类型。
选择要限制为数字输入的文本字段。
转到其属性检查器。
选择键盘类型,然后从中选择数字键盘。
方法2:以编程方式将输入限制为数字。
选择文本字段
在视图控制器中创建其出口。
使视图控制器符合UITextFieldDelegate
设置文本字段的委托
添加以下功能
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool { if let x = string.rangeOfCharacter(from: NSCharacterSet.decimalDigits) { return true } else { return false } }
我们整个示例类看起来像
import UIKit class ViewController: UIViewController, UITextFieldDelegate { @IBOutlet weak var tf: UITextField! override func viewDidLoad() { tf.delegate = self super.viewDidLoad() } func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool { if let x = string.rangeOfCharacter(from: NSCharacterSet.decimalDigits) { return true } else { return false } } }
这将创建一个文本字段,该文本字段只能以数字作为输入,不能包含其他字符。