Я спроектировал одну форму с четырьмя UITextFields. Первый для ввода чисел, второй для ввода имени, третий для выбора даты и последний для выбора времени. Первое текстовое поле с помощью Numberpad будет скрыто с помощью кнопки «Готово» на клавиатуре. Если пользователь при входе во второе (имя текстового поля) из первого (числовое текстовое поле), первая клавиатура прячется отлично. Если пользователь, вводящий имя и выбирающий текстовое поле даты, показывает указатель даты в списке действий, когда пользователь выбирает дату и нажимает кнопку «Готово / отмена», я скрываю таблицу действий. Но название клавиатуры текстового поля не исчезает с экрана. Я связал ниже код, он не работает. Может ли кто-нибудь предложить идею для этого разъяснения? Заранее спасибо.
-(void)textFieldDidBeginEditing:(UITextField *)textField
{
if (textField == numberTextfield)
{
[textField setInputAccessoryView:keyboardToolbar];
}
else if(textField == nameTextfield)
{
}
else if(textField == dateTextField)
{
[self showdateActionSheet];
[nameTextfield resignFirstResponder];
[dateTextField resignFirstResponder];
}
else if(textField == timeTextField)
{
[timeTextField resignFirstResponder];
[nameTextfield resignFirstResponder];
}
}
- (BOOL) textFieldShouldReturn:(UITextField *)textField // If the user select Return key it is dismissing fine
{
[nameTextfield resignFirstResponder];
return YES;
}
-(BOOL) textFieldShouldEndEditing:(UITextField *)textField
{
[nameTextfield resignFirstResponder];
return YES;
}
-(void) DateDone
{
[nameTextfield resignFirstResponder];
}
-(void) timeDone
{
[nameTextfield resignFirstResponder];
}