UITextInputMode не работает для английской десятичной панели в iOS 13

В моем приложении две локализации (английская и арабская). Я установил тип клавиатуры для многих 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 и т. Д. Проблема возникает только для десятичной панели.

0 ответов

Другие вопросы по тегам