Как скрыть текстовую клавиатуру, когда нажата кнопка "Готово/Возврат" Xcode 4.2
Я создал текстовое поле в построителе интерфейса. Я установил для него "Return Key" (Готово). Это однострочный вход (поэтому ему не нужно несколько строк).
Как скрыть виртуальную клавиатуру, когда пользователь нажал кнопку "Готово"?
Ответы
Ответ 1
Внедрите метод делегата UITextFieldDelegate
, затем:
- (void)viewDidLoad {
[super viewDidLoad];
self.yourIBtextField.delegate = self;
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return NO;
}
Ответ 2
UITextView не имеет методов, которые будут вызываться, когда пользователь нажимает на ключ возврата.
Даже тогда, если вы хотите это сделать, реализуйте метод textView: shouldChangeTextInRange: replacementText: метод UITextViewDelegate и в этом случае проверьте, есть ли сменный текст \n, скройте клавиатуру.
Могут быть другие способы, но я ничего не знаю.
Убедитесь, что вы объявили о поддержке протокола UITextViewDelegate.
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range
replacementText:(NSString *)text {
if([text isEqualToString:@"\n"]) {
[textView resignFirstResponder];
return NO;
}
return YES;
}
Надеюсь, это поможет.
Ответ 3
Сделайте категорию на UIViewController со следующим методом
- (void)hideKeyboard
{
[[UIApplication sharedApplication] sendAction:@selector(resignFirstResponder)
to:nil
from:nil
forEvent:nil];
}