Добавление и удаление клавиатуры - PullRequest
2 голосов
/ 03 января 2012

У меня есть текстовое поле, и когда пользователь щелкнет по нему, они будут представлены с помощью клавиатуры.на клавиатуре есть кнопка GO, и я хочу записать в нее событие action.

1.) Как мне написать action, когда пользователь нажимает эту кнопку

2.) Когда клавиатура открыта, и когда пользователь нажимает на фон, мне нужно, чтобы клавиатура исчезла, как я могу сделать это программно?добавлено только текстовое поле, поэтому клавиатура будет отображаться по умолчанию при нажатии

Ответы [ 3 ]

2 голосов
/ 03 января 2012

для выполнения каких-либо действий при возврате текстового поля / кнопки «Перейти» используйте следующий код

-(BOOL)textFieldShouldReturn:(UITextField *)theTextField {
    [theTextField resignFirstResponder];

    //call Method when the GO button is pressed   

    return YES;
}

А когда пользователь касается фона и клавиатура должна вернуться - для этого напишите код ниже

-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {

[textFiedl resignFirstResponder];

}

надеюсь, что ваши проблемы будут решены с этим.

1 голос
/ 03 января 2012

Чтобы скрыть клавиатуру при прикосновении к фону, вы можете написать [txtName resignFirstResponder];, где txtName - ссылочное имя TextField.

1 голос
/ 03 января 2012

Текстовое поле присутствует всякий раз, когда UITextField или UITextView является первым респондентом.Вы можете вручную «показать» клавиатуру, вызвав становлениеFirstResponder или «скрыть» ее с помощью resignFirstResponder

В вашем случае посмотрите ссылку UITextFieldDelegate ;когда пользователь нажимает «GO», вызывается обратный вызов textFieldDidEndEditing :.В этом методе вы должны вызвать resignFirstResponder для текстового поля, чтобы скрыть клавиатуру.

...