Uppercase characters in UItextfield

前端 未结 17 1312
萌比男神i
萌比男神i 2020-12-24 04:34

I have a question about iOS UIKeyboard.

I have a UITextField and I would to have the keyboard with only uppercase characters.<

17条回答
  •  醉酒成梦
    2020-12-24 05:32

    /**
     We take full control of the text entered so that lowercase cannot be inserted
     we replace lowercase to uppercase
    */
    func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
    
        // No spaces allowed
        if string == " " {
            return false
        }
    
        // delete key pressed
        if string == "" {
            textField.deleteBackward()
            return false
        }
    
        // We only allow alphabet and numbers
        let numbersAndLettersSet = CharacterSet.alphanumerics
        if string.lowercased().rangeOfCharacter(from: numbersAndLettersSet) == nil {
            return false
        }
    
        // Add the entered text
        textField.insertText(string.uppercased())
    
        // Return false as we are doing full control
        return false
    }
    

提交回复
热议问题