This is how I defined my oneTime UITextField:
let codeTextField: MaskedTextField = { // inherits from UITextField
let textField = MaskedTextField()
textField.textContentType = .oneTimeCode
textField.textColor = .mineShaft
textField.tintColor = .mineShaft
textField.autocapitalizationType = .none
textField.placeholderCharacter = "_"
textField.patternMask = "___ ___"
textField.autocorrectionType = .no
textField.keyboardType = .numberPad
textField.font = UIFont.poppinsMedium.withSize(17)
textField.placeholder = "settings.code.title".localized
return textField
}()
Why doesn't it work when SMS has been received?
This is content of SMS received:
Verification code to PLZ from 12-10-2023 14:33:20. SMS code: 678826
@partner-portal.pre-prod.plz.pl #678826
And this is screenshot from my UIView:
Solution is very simple. UITextField
should not be filled at time for auto suggestion. Should be empty without any placeholders or default values.
textField.patternMask = ""