На этот вопрос уже ответили, я знаю, потому что именно так я получил решение. У вас есть 2 варианта, во-первых, чтобы скрыть клавиатуру, прикоснувшись к основному экрану, который отправит сообщение «Закончено редактирование». скрывает клавиатуру [self.view endEditing: YES];
Если вы добавляете сенсорный прослушиватель к основному виду, вы должны реализовать условие, чтобы все остальные кнопки продолжали работать.
То, что вы хотите сделать, чтобы смоделировать ключ возврата, это добавить его следующим образом:
При регистрации на клавиатуре показывалось уведомление и добавлялось это в код:
if ([self.passCodeLabel isFirstResponder])
{
UIButton *doneButton = [UIButton buttonWithType:UIButtonTypeCustom];
doneButton.frame = CGRectMake(0, 163, 106, 53);
//doneButton.frame = CGRectMake(0, 163, 257, 257);
doneButton.adjustsImageWhenHighlighted = NO;
[doneButton setImage:[UIImage imageNamed:@"doneup.png"] forState:UIControlStateNormal];
[doneButton setImage:[UIImage imageNamed:@"donedown.png"] forState:UIControlStateHighlighted];
[doneButton addTarget:self action:@selector(doneButton:) forControlEvents:UIControlEventTouchUpInside];
// locate keyboard view
UIWindow* tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:1];
NSLog(@"%@",[[UIApplication sharedApplication] windows]);
UIView* keyboard;
NSLog(@"Shared applicaiton windows count:%i",tempWindow.subviews.count);
for(int i=0; i<[tempWindow.subviews count]; i++) {
keyboard = [tempWindow.subviews objectAtIndex:i];
NSLog(@"%@",[keyboard description]);
// keyboard view found; add the custom button to it
if([[keyboard description] hasPrefix:@"<UIPeripheralHostView"] == YES)
{
NSLog(@"Adding return button");
[keyboard addSubview:doneButton];
}
}
}
Это добавит ваше собственное изображение кнопки «Готово» на клавиатуру (которую вы можете просто скопировать, сделав снимок экрана с пустым слотом и добавив готовый текст).
Кстати, код, который я вставил, работает на моем макете. Возможно, вам придется немного его изменить, но принцип тот же.