Если вы пришли сюда в поисках решения Swift, как я, вот и вы :)
у скрыть клавиатуру, когда пользователь нажимает вернуться вUITextView
объект в iphone. Тем не менее, таинственным образом это не работает дляUITextView
но работает наUITextField
, Я не могу понять, почему ...
Вот что я сделал:
1) Я создал приложение на основе представления в XCode4.
2) в .xib созданUITextView
, UITextField
а такжеUIButton
объекты
3) Помечено какUITextField
а такжеUITextView
делегаты Владельцу Файла в Аутлетах
4) Добавлено<UITextFieldDelegate>
в @interface UIViewController в .h
5) ДобавленоtextFieldShouldReturn
функция в м
Вот коды:
.h файл
@interface keyboardDisappearViewController : UIViewController <UITextFieldDelegate>
{
UITextView *textBoxLarge;
UITextField *textBoxLittle;
}
@property (nonatomic, retain) IBOutlet UITextView *textBoxLarge;
@property (nonatomic, retain) IBOutlet UITextField *textBoxLittle;
- (IBAction)doSomething:(id)sender;
@end
.m файл
- (BOOL) textFieldShouldReturn:(UITextField *)theTextField
{
NSLog(@"textFieldShouldReturn Fired :)");
[textBoxLarge resignFirstResponder];
[textBoxLittle resignFirstResponder];
return YES;
}
Удивительно, что клавиатура исчезает в случае textBoxLittle (UITextField), но не в случае textBoxLarge (UITextView)
В качестве дополнительной проверки я сделал кнопку вызова функции doSomething
- (IBAction)doSomething:(id)sender {
[textBoxLarge resignFirstResponder];
[textBoxLittle resignFirstResponder];
}
Когда я нажимаю кнопку, клавиатура исчезает в обоих текстовых полях.
Это сводит меня с ума, почему textFieldShouldReturn работает для небольшого текстового поля, но НЕ для большого текстового поля.
Пожалуйста помоги!