2009-06-18 65 views
11

有没有办法修改或制作自己的iPhone键盘,以便您可以键入不支持的语言?定制iPhone键盘

+2

其实,这是可能的。你接受的答案是***不正确。看看@Anomies的答案,这就是你如何实现一个自定义的键盘。 – RyanR 2011-06-26 00:13:39

回答

13

可以创建你自己的键盘,但实际上使用它是比较困难的。

来创建它:

  1. 创建键盘视图。你可以使用你想要的任何子视图。最有用的方法是创建一个UIView子类。
  2. 安排您的键盘视图实例将由任何UIResponder的inputView属性返回。对于UITextView和UITextField,这与分配属性一样简单;对于其他类,您可能必须子类化或调整访问器,因为属性默认为只读。

关于此的更多详细信息,请参阅the documentation

不幸的是,实际上使用这个自定义键盘比较困难。从iOS 4.3开始,UITextField和UITextView都不符合UITextInput protocol,这对于此目的而言是理想的。对于UITextView,您应该可以使用该类提供的方法使其工作,但由于UITextField不提供任何方式来查找当前选择或光标位置,因此您将无法使用公开方式创建全功能键盘 - 文档化的方法(追加和从终端删除是可能的,甚至inserting at the current position by manipulating the clipboard,但像标准键盘上的“删除以前的字符”按钮将被证明是不可能的)。

从iOS 5.0开始,UITextField和UITextView终于实现了UITextInput协议。在光标位置插入和删除文本现在应该是一件简单的事情。

6

不,目前没有办法做到这一点。

有一些通过添加SubViews添加自己的按钮的黑客方式。但它不受支持,并可能随时失败。

如果您决定创建自己的应用程序,则可能必须滚动自己的文本框控件以及需要键盘的任何其他控件。换句话说,并不是一个理想的选择。