有没有办法修改或制作自己的iPhone键盘,以便输入不支持的语言?
答案 0 :(得分:13)
你可以创建自己的键盘,但实际使用它会更困难。
创建它:
inputView
属性返回键盘视图的实例。对于UITextView和UITextField,这就像分配属性一样简单;对于其他类,您可能必须子类化或调配访问器,因为默认情况下该属性被声明为只读。有关详细信息,请参阅the documentation。
不幸的是,实际上使用这个自定义键盘更加困难。从iOS 4.3开始,UITextField和UITextView都不符合UITextInput
protocol,这对于此目的来说是理想的。对于UITextView,您应该能够使用类提供的方法使其工作,但由于UITextField没有提供任何方法来查找当前选择或光标位置,因此您将无法公开创建全功能键盘-documented方法(可以追加和删除,甚至是inserting at the current position by manipulating the clipboard,但是标准键盘上的“删除前一个字符”按钮将被证明是不可能的。)
从iOS 5.0开始,UITextField和UITextView最终实现了UITextInput协议。现在插入和删除光标位置的文本应该是一件简单的事情。
答案 1 :(得分:6)
不,目前无法做到这一点。
通过添加SubViews添加自己的按钮有一些hacky方法。但它不受支持,可能随时失败。
如果你决定创建自己的,你可能需要滚动自己的文本框控件和任何其他需要键盘的控件。换句话说,这不是一个理想的选择。