uitextfieldまたはuitextviewなしでuikeyboardを引き上げる方法は?
-
21-09-2019 - |
質問
現在、iPhoneとiPod Touch用のOpenGL ESゲームを開発しています。
どうすればuikeyboardを簡単に引き上げることができるのだろうと思っていましたか?ありますか 公式、文書化 uitextviewのuitextfieldを使用せずにuikeyboardを引き上げる可能性はありますか?
解決
それは「公式に」可能ではありません - Appleのガイドラインの範囲内にとどまる間、Uikeyboardオブジェクトにまったくアクセスすることはできません。
目に見えないuitextfieldを作成してから呼び出します [textField becomeFirstResponder]
仕事をするだろう - 最初にuitextfieldをサブクラスしてから、デリゲートメソッドをオーバーライドすることもできます textField:shouldChangeCharactersInRange:
テキスト入力を行きたい場所にリダイレクトします。
他のヒント
Uiresponderをサブクラス化し、UikeyInputプロトコルを宣言すると、FirStresponderになるとキーボードが表示されます。
を参照してください uikeyinputプロトコルはこちら.
私をつまずかせたことの1つは、Canbecomefirstresponderメッセージをオーバーライドする必要があることです。
それは確かに可能です。私はこれでたくさん苦労しました。 uikeyinputプロトコルを使用して、uitextfieldまたはuitextviewを使用せずにキーボードを引くことができます。ただし、iOS 3.2以降でのみ利用できます。がここにあります チュートリアル その上。
それが役立つことを願っています。
目に見える画面からテキストフィールドのフレームを配置することにより、目に見えるuitextfieldなしでキーボードを表示しました。
#define TEXT_FRAME -50,-50,0,0
self.textField = [[UITextField alloc] initWithFrame:CGRectMake(TEXT_FRAME)];
「ファーストレスポンダー」を設定すると、キーボードが目に見える入力領域なしで表示されます。
// show the keyboard
[self.textField becomeFirstResponder];
後でアイデアを落としました。しかし、Appleのガイドラインへの適合はわかりません。
私はそれを試していませんが http://www.cocoadev.com/index.pl?uikeyboard 動作するはずのように見えるいくつかのコードを表示します。