【问题标题】:Change the keyboard language in SwiftUI在 SwiftUI 中更改键盘语言
【发布时间】:2023-03-04 02:50:02
【问题描述】:

如何在 swiftUI 中更改键盘语言。 uikit 属性也可以。 我试过这个:

public extension UITextField 
{ 
    // ⚠️ Prefer english keyboards
    //
    override var textInputMode: UITextInputMode?
    {
        let locale = Locale(identifier: "en_US") // your preferred locale

        return
            UITextInputMode.activeInputModes.first(where: { $0.primaryLanguage == locale.languageCode })
            ??
            super.textInputMode
    }
}

但它不起作用。

【问题讨论】:

    标签: swift keyboard uikit


    【解决方案1】:

    我观察到UITextInputMode.primaryLanguage 在语言环境字符串中使用- 而不是_。因此,如果您将语言环境创建为Locale(identifier: "en-US") 而不是Locale(identifier: "en_US"),则UITextInputMode.primaryLanguage 和locale.identifier 具有相同的格式en-US。

    public extension UITextField
    {
        override var textInputMode: UITextInputMode?
        {
            let locale = Locale(identifier: "en-US")
            
            return
                UITextInputMode.activeInputModes.first(where: { $0.primaryLanguage == locale.identifier })
                ??
                super.textInputMode
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2011-08-08
      • 1970-01-01
      • 2011-08-19
      • 2017-02-17
      • 2023-03-16
      • 1970-01-01
      • 2011-09-14
      • 2016-12-30
      • 1970-01-01
      相关资源
      最近更新 更多