Вопрос

Есть ли способ сделать общий resignFirstResponder Чтобы скрыть клавиатуру, независимо от того, какое текстовое поле/представление/и т. Д. Называет ее?

Причина в том, что у меня много текстовых полей, и я не хочу resignFirstResponder Для всех текстовых полей, чтобы скрыть клавиатуру. Просто хочу общего

[self resignFirstResponder].

Любые идеи?

заранее спасибо

Это было полезно?

Решение

Самый простой способ сделать это - иметь метод, когда вы хотите отклонить клавиатуру, которая выглядит так:

-(void)dismissKeyboard {
    [firstField becomeFirstResponder];
    [firstField resignFirstResponder];
}

Другие советы

Я знаю, что это уже было отмечено как ответное, но для тех, кто сталкивается с этим, как я это сделал, вы можете просто использовать следующий метод в представлении, который содержит текстовые полки.

- (BOOL)endEditing:(BOOL)force

Этот метод рассматривает текущее представление и его иерархию подвесила для текстового поля, которое в настоящее время является первым респондентом. Если он находит один, он просит это текстовое поле уйти в отставку в качестве первого респондента. Если параметр силы устанавливается на да, текстовое поле никогда не спрашивается; Он вынужден уйти в отставку. Uiview документация

[self.view endEditing:YES];

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

Вы можете отклонить клавиатуру без какой -либо ссылки на Uitextfield / UitextView с помощью кода ниже:

[[[UIApplication sharedApplication] keyWindow] endEditing:YES];

Это отклонит клавиатуру по всему миру без ссылки.

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

Вы можете проверить эти вопросы:

Таким образом: вы можете позвонить Firstresponder на что -то другое, которое вы выберете. Это может быть uiviewcontroller или uiview. Раньше у меня была похожая проблема, мне нужно было заставить мою клавиатуру уйти, когда я отодвигал контроллер моего представления к его абоненту, не зная, какое Textfield было первым респондентом. Затем, на просмотре моего контроллера представления, который я возвращался, я позвонил [Self StuderStroponder], и клавиатура просачиваемого представления исчезла. Потому что это сделало любое текстовое поле, что было свободным, будучи первым респондентом

В моем собственном приложении, когда у меня было более одного текстового поля, и я хотел бы заставить клавиатуру уйти, независимо resignFirstResponder.

Я предполагаю, что, как программист, у вас должно быть четкое знание, сколько текстовых полей находится на вашем контроллере зрения и как вы можете получить к ним доступ, в противном случае это будет испорчено, и вы приложение не будет хорошо выглядеть ... :-

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top