UITextInputMode не работает для английской десятичной панели в iOS 13 - PullRequest
0 голосов
/ 28 октября 2019

У меня в приложении две локализации (английская и арабская). Я установил тип клавиатуры для многих из UITextFields в decimalPad . Мне нужно использовать только десятичный падеж на английском языке для этих полей . Но когда язык приложения установлен на Арабский , клавиатура отображается на арабском языке. До iOS 12 он работает нормально, создав подкласс UITextField и переопределив textInputMode . Вот код:

override var textInputMode: UITextInputMode? {
    for mode in UITextInputMode.activeInputModes {
        if mode.primaryLanguage?.containsSubString(subString: "en") {
            return mode
        }
    }
    return nil
}

В iOS 13 приведенный выше код не имеет никакого эффекта. Я следовал Показывая системную клавиатуру Emoji по умолчанию на iOS 13 . Переопределить textInputContextIdentifier, но все еще не удалось.

override var textInputContextIdentifier: String? { return "en-US" }

PS: работает нормально для других типов клавиатуры - Number, Asci и т. Д. Проблема возникает только для десятичной клавиатуры.

...