Limit UITextField input to numbers in Swift

后端 未结 6 1122
南旧
南旧 2020-12-05 12:10

How can I get limit the user\'s TextField input to numbers in Swift?

6条回答
  •  北荒
    北荒 (楼主)
    2020-12-05 12:52

    In swift 4.1 and Xcode 10

    Add UITextFieldDelegate to your class

    class YourViewController: UIViewController, UITextFieldDelegate
    

    Then write this code in your viewDidLoad()

    yourTF.delegate = self
    

    Write this textfield delegate function

    //MARK - UITextField Delegates
    func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
        //For numers
        if textField == yourTF {
            let allowedCharacters = CharacterSet(charactersIn:"0123456789")//Here change this characters based on your requirement
            let characterSet = CharacterSet(charactersIn: string)
            return allowedCharacters.isSuperset(of: characterSet)
        }
        return true
    }
    

提交回复
热议问题