每当打开本机键盘时,我都会尝试在我的iOS 5.x应用程序上提供不同的语言支持。以编程方式在本机键盘中提供此语言。有人能指导我怎样才能支持它吗?我看到了一个carbon框架,但看起来像是针对Mac应用程序的。
谢谢。
发布于 2012-09-26 14:45:09
不,这是不可能的-用户只能在设置中更改他们的语言。
但是,如果您选择(或询问他们的喜好),您可以给用户一个“英语”键盘。
您可以使用以下命令执行此操作:UIKeyboardTypeASCIICapable
您可以通过按下最下面一行上的"globe icon“直接在键盘上更改键盘。
首先,您必须在设置中启用这些语言以进行输入。然后按下键盘上的globe键就可以在这些语言之间切换。
发布于 2017-04-26 21:46:17
我知道这是一个老问题,但这是我改变键盘语言的方法。
感谢@the4kman的标记:这种方式只能将当前的键盘更改为那些在设置中添加的键盘。
Swift 3:
class CustomTextField: UITextField {
private func getKeyboardLanguage() -> String? {
return "en" // here you can choose keyboard any way you need
}
override var textInputMode: UITextInputMode? {
if let language = getKeyboardLanguage() {
for tim in UITextInputMode.activeInputModes {
if tim.primaryLanguage!.contains(language) {
return tim
}
}
}
return super.textInputMode
}
}
发布于 2018-06-04 22:17:01
声明:
@IBOutlet var yourTextField:cTextField!;
使用:
yourTextField.languageCode = "ru";
cTextField类:
class cTextField: UITextField {
// ru, en, ....
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;
}
}
https://stackoverflow.com/questions/12595970
复制相似问题