2012-02-24 2 views
1

Как заблокировать клавиатуру для ввода (что-то вроде userInteractionEnabled = NO) в iOS> = 4?Блочная клавиатура для ввода

Клавиатура используется для TextEdit.

Если я отключу взаимодействие для textedit, тогда клавиатура исчезнет, ​​но я хочу увидеть клавиатуру.

+0

Какой пользовательский интерфейс? Насколько я знаю, большинство, если не все элементы управления, все еще имеют свойство userInteractionEnabled? – JiaYow

+0

ответ в вашем вопросе сам! userInteractionEnabled = NO; – Selvin

+0

userInteractionEnabled = NO; -> Не работает, клавиатура исчезает! –

ответ

1

Le Coeur, я думаю, вы должны рассмотреть другой подход к все, что вы пытаетесь достичь путем ограничения ввода с клавиатуры для двух хороших причин:

  1. UIElement, который зацепляется пользователю типа, но не реагирует на какие-либо жесты пользователя, обязательно будет отклонен Apple.

  2. Поскольку эта клавиатура находится на уровне ОС, это частный API, и я уверен, что вы ничего не можете сделать с клавиатурой, чтобы заблокировать доступ к клавишам.

Надеется, что это помогает

+0

Хм, как насчет блокировки Apple? Они также блокируют клавиатуру! –

+0

Делая что? Вы просто видите клавиатуру без блокировки/препятствия сверху и она не реагирует? Разве это выглядит иначе, когда он отключен? – Stavash

+0

Тот же принцип, что и при блокировке Apple, после 5 попыток блокировки на некоторый интервал ... –

4

вы пробовали этот делегат?

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 
+0

Как он сказал. Используйте эту функцию и просто верните ее. Клавиатура может быть активна, но все входные данные будут заблокированы – BBog

0

Вы всегда можете отключить userInteractionEnabled на виде клавиатуры, или менее опасно добавлять невидимый подвид к клавиатуре, которая блокирует взаимодействие. См. iOS: How to access the `UIKeyboard`? о том, как получить UIView для клавиатуры.

Смежные вопросы