Подтвердить что ты не робот

Как подтянуть UIKeyboard без UITextField или UITextView?

В настоящее время я разрабатываю игру OpenGL ES для iPhone и iPod touch.

Мне было интересно, как я могу легко подтянуть UIKeyboard? Есть ли официальная документированная возможность подтянуть UIKeyboard без использования UITextField UITextView?

4b9b3361

Ответ 1

Это не "официально" возможно - вы не можете вообще получить доступ к объекту UIKeyboard, оставаясь в рамках рекомендаций Apple.

Создание невидимого UITextField, тогда вызов [textField becomeFirstResponder] выполнит задание - вы можете сначала подклассифицировать UITextField, а затем переопределить метод делегата textField:shouldChangeCharactersInRange:, чтобы перенаправить ввод текста туда, куда вы хотите.

Ответ 2

Если вы подклассифицируете UIResponder и объявляете протокол UIKeyInput, клавиатура появится, когда вы станете первымResponder.

Смотрите здесь протокол UIKeyInput.

Одна вещь, которая помогла мне в том, что вам нужно переопределить сообщение canBecomeFirstResponder.

Ответ 3

Это действительно возможно. Я сам много боролся с этим. Протокол UIKeyInput может использоваться для вытягивания клавиатуры без использования UITextField или UITextView. Однако он доступен только в iOS 3.2 и выше. Ниже приведено учебник.

Надеюсь, что это поможет.

Ответ 4

Я отобразил клавиатуру без видимого UITextField, поместив мой текстовый фрейм из видимого экрана:

#define TEXT_FRAME                 -50,-50,0,0

self.textField = [[UITextField alloc] initWithFrame:CGRectMake(TEXT_FRAME)];

Когда я устанавливаю "первый ответчик", клавиатура становится видимой без видимой области ввода:

// show the keyboard    
[self.textField becomeFirstResponder];

Я позже отказался от этой идеи. Однако я не знаю его соответствия рекомендациям Apple.