How to hide emojis in keyboard and ignore emoji character for textField in Swift
In this article, I’, going to show you how to set your keyboard(hide emojis) for textField.
Your textField:
@IBOutlet weak var yourTextField: UITextField!
Set keyboard in ViewDidLoad()
yourTextField.keyboardType = .asciiCapable
Result:
But for yourTextField, Users can copy emoji and paste it to your textField.
And I’m going to prevent it. I will use yourTextField.delegate = self
and
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
let isContainEmoji = string.unicodeScalars.filter({ $0.properties.isEmoji }).count > 0
let numberCharacters = string.rangeOfCharacter(from: .decimalDigits)
if isContainEmoji && numberCharacters == nil {
return false
}
}
Now, I can ignore emojis for myTextField.