在 SwiftUI 中更改键盘语言
Change the keyboard language in SwiftUI
如何在 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: { [=10=].primaryLanguage == locale.languageCode })
??
super.textInputMode
}
}
但是不行。
我观察到 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: { [=10=].primaryLanguage == locale.identifier })
??
super.textInputMode
}
}
如何在 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: { [=10=].primaryLanguage == locale.languageCode })
??
super.textInputMode
}
}
但是不行。
我观察到 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: { [=10=].primaryLanguage == locale.identifier })
??
super.textInputMode
}
}