1

Я создал текстовое поле, но я не использовал Interface Builder, я сделал это программно в XCode. Так что теперь мне нужен программный способ заставить его смириться с первым ответчиком, чтобы клавиатура исчезла, когда пользователь нажал кнопку ввода.Программно скрыть клавиатуру

ответ

1

В дополнение к ответу cobbal в Дон Не забудьте указать делегата текстового поля классу, который реализует

- (BOOL)textFieldShouldReturn:(UITextField *)textField { 
    [textField resignFirstResponder]; 
    return YES;  
} 

Добавление дескриптора в это объявление интерфейса класса также является хорошей вещью.

2
[textField resignFirstResponder]; 

docs

, если вы хотите, чтобы уйти при входе нажата, вам необходимо будет осуществить

- (BOOL)textFieldShouldReturn:(UITextField *)textField 

в вашем UITextFieldDelegate

0

У меня был этот вопрос, и я понимаю, что вышеупомянутый ответ может быть не тем, о чем вы просите. Я предполагаю, что вы добавляете UITextField в качестве подзонов к некоторому виду, когда вы говорите «дважды нажмите» (или какое-то другое событие). Важно, чтобы контроллер был делегатом этого подзапроса.

-(void)handleDoubleTapGesture:(UITapGestureRecognizer *)gestureRecognizer{ 
    //some other code creating the textfield 
    [aTextField setDelegate:self]; 

В этом случае я использовал сам контроллер.

Теперь внутри этого контроллера можно реализовать

-(BOOL) textFieldShouldReturn:(UITxtField *)textField 

и он будет работать.

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