2009-06-18 80 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添加自己的按鈕的黑客方式。但它不受支持,並可能隨時失敗。

如果您決定創建自己的應用程序,則可能必須滾動自己的文本框控件以及需要鍵盤的任何其他控件。換句話說,並不是一個理想的選擇。