Как изменить язык клавиатуры в панели поиска?стриж - PullRequest
0 голосов
/ 21 января 2019

Как изменить язык в TextField:

class langField: UITextField {
    var languageCode:String? {
        didSet {
            if self.isFirstResponder {
                self.resignFirstResponder()
                self.becomeFirstResponder()
            }
        }
    }

    override var textInputMode: UITextInputMode? {
        if let language_code = self.languageCode {
            for keyboard in UITextInputMode.activeInputModes {
                if let language = keyboard.primaryLanguage {
                    let locale = Locale.init(identifier: language)
                    if locale.languageCode == language_code {
                        return keyboard
                    }
                }
            }
        }
        return super.textInputMode
    }
}

Затем:

let textFiled = langField () textField.languageCode = "en"

и когда пользователь нажимаетна вашем языке TextFiled будет английский

как сделать то же самое для панели поиска?

Я делаю это:

extension UISearchBar {

    func textField() -> UITextField? {

        for view in subviews {

            for subview in view.subviews {

                if let textField = subview as? UITextField {
                    return textField
                }
            }
        }
        return nil
    }
}

Но когда явызов textField, метод .languageCode отсутствует

...