iOS - 从 NSUserDefaults 调用特定键盘
iOS - Call specific keyboard from NSUserDefaults
有没有办法将键盘名称转换为 UIKeyboardType 或其他可用作键盘的类型?
这是我的。假设设备安装了特定语言的键盘(比如日语),我可以检查 NSUserDefaults 并获取设备列表,如下所示:
NSArray *arrayOfKeyboardNames = [defaults arrayForKey:@"AppleKeyboards"];
在我的例子中,returns 4 个键盘名称:
"en_US@hw=US;sw=QWERTY",
"emoji@sw=Emoji",
"ja_JP-Kana@sw=Kana;hw=US",
"ru_RU@sw=Russian"
然后我要做的是将 ja_JP-Kana@sw=Kana;hw=US
的键盘设置为 UITextField 的输入类型。
理想情况下,这将适用于整个应用程序,而不仅仅是一个字段,但目前这可能有效。
问题是 UITextField 只接受枚举作为键盘类型,这显然不是枚举值。
有办法吗?
最终结果应该是当用户触摸 UITextField 时出现日文键盘。
没有 public API 可以让您切换键盘。完全由用户通过点击键盘上的小地球键来控制。
UITextInputMode
class 提供了一种查看可用键盘但没有 API 进行设置的方法。
有没有办法将键盘名称转换为 UIKeyboardType 或其他可用作键盘的类型?
这是我的。假设设备安装了特定语言的键盘(比如日语),我可以检查 NSUserDefaults 并获取设备列表,如下所示:
NSArray *arrayOfKeyboardNames = [defaults arrayForKey:@"AppleKeyboards"];
在我的例子中,returns 4 个键盘名称:
"en_US@hw=US;sw=QWERTY",
"emoji@sw=Emoji",
"ja_JP-Kana@sw=Kana;hw=US",
"ru_RU@sw=Russian"
然后我要做的是将 ja_JP-Kana@sw=Kana;hw=US
的键盘设置为 UITextField 的输入类型。
理想情况下,这将适用于整个应用程序,而不仅仅是一个字段,但目前这可能有效。
问题是 UITextField 只接受枚举作为键盘类型,这显然不是枚举值。
有办法吗? 最终结果应该是当用户触摸 UITextField 时出现日文键盘。
没有 public API 可以让您切换键盘。完全由用户通过点击键盘上的小地球键来控制。
UITextInputMode
class 提供了一种查看可用键盘但没有 API 进行设置的方法。