2014-01-17 4 views
6

В настоящее время я разрабатываю прототип, который я хочу сделать для тестирования пользователей на рабочем столе перед загрузкой на iPad.Как отключить клавиатуру при нажатии UITextField в iOS?

Я ищу решения для отключения клавиатуры после нажатия текстового поля. Это означает, что после нажатия текстового поля пользователь может напрямую вводить информацию с клавиатуры macbook, и виртуальная клавиатура, которая автоматически отображается в симуляторе, не появится. Я прошел через множество учебников, но все они увольняют клавиатуру после входа пользователя; это не то, что я ищу. Как скрыть клавиатуру?

Большое спасибо!

ответ

5

Используйте это:

UIView *dummyView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, 0)];  
myTextField.inputView = dummyView; // Hide keyboard, but show blinking cursor 

Он работает для UITextField и UITextView, и они должны быть установлены для редактирования.

Что вы сделали здесь:
Вы создали фиктивный вид из width=hight=0, & назначен его как inputView вашего textField.

Как это работает: Вместо того чтобы показывать по умолчанию, клавиатура, теперь, то ViewController показывает DummyView как inputView для UITextField. Как DummyView имеет Width=height=0, вы ничего не увидите на экране :)

+1

Полезный ответ :) :) –

+0

@Prince Agrawal Он не работает с ipad air2. На экране появляется панель инструментов в нижней части экрана. Не могли бы вы помочь с этим. –

+0

@hardikhadwani Это не устройство. Что вы понимаете под панелью инструментов? –

1

Это установит inputView вашего TextField, чтобы, в основном, пустой UIView без рамки.

self.theTextField.inputView = [[UIView alloc] initWithFrame:CGRectZero]; 
1

Вот another answer, который я нашел тот же хак, но с небольшим дополнительным поддержкой фрагментом кода, чтобы скрыть мигающий курсор тоже.

-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField { 
    return NO; // Hides both keyboard and blinking cursor. 
} 

мне нужно, чтобы это было сделано для текстового поля Количество где увеличение/уменьшение количества с помощью представления UIStepper. Поэтому мне нужно было всегда скрывать клавиатуру.

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