This is how I bypassed the problem until a real solution is found... IT WORKS WITH iOS 13I created a function that checks the current locale of the device and sets the keyboards accordingly. So for "en_GB" and 'en_US" it will display a Decimal keyboard (with the dot) and for anything else it will show a different keyboard (in my case I choose "numbersAndPunctuation").func SetCorrectDecimalKeyboard(UITextField: UITextField) {
let language = Locale.current.identifier
if (language == "en_GB" || language == "en_US") {
print("[LOG] \(language) - Setting Decimal keyboard")
UITextField.keyboardType = UIKeyboardType.decimalPad
}
else {
print("[LOG] \(language) - Setting Numbers & Punctuation keyboard")
UITextField.keyboardType = UIKeyboardType.numbersAndPunctuation
}
}You can more languages that support the decimal keyboard in this function if needed.Usage:SetCorrectDecimalKeyboard(UITextField: myTextFieldName)
//Replace myTextFieldName with the name of your UITextField that you want to have a different keyboard forWhile this doesn't resolve your issue I hope it helps you bypass it my friend! 🙂
Post
Replies
Boosts
Views
Activity
I have exactly the same problem.. I have tried many solutions found in various forums but nothing seem to work for iOS13..I have a UITextField that should accept IP address (so only numbers and "." dots), it works well in english language but if i set it in italian (for example) it shows a comma instead of the dot. My UITextField also validates the IP address so the comma obviosly doesn't pass the validation.Very frustrating!