UITextField ResignFirstRespond не работает в iphone? - PullRequest
2 голосов
/ 01 марта 2012

Я спроектировал одну форму с четырьмя 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];
}

Ответы [ 2 ]

3 голосов
/ 01 марта 2012

Gopinath.Пожалуйста, попробуйте мой следующий код:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField 
{ 
    if (textField == dateTextField )
    {  
        [nameTextfield resignFirstResponder]; 

        [self showdateActionSheet];

        [dateTextField resignFirstResponder];
    }
    else if( textField == timeTextField)
    {
        [nameTextfield resignFirstResponder];
        [self ShowTime];
        [timeTextField resignFirstResponder];
    }
    return YES; 
}

Я уверен, что помогу вам.

0 голосов
/ 16 апреля 2013
...