ResignFirstResponder не отклоняет клавиатуру (iPhone)

Я перерыл этот сайт, что я не мог найти решение проблемы, с которой я сталкиваюсь теперь. Надежда кто-то может помочь.

Я создал UIAlertView, чтобы предложить пользователю вводить их имя в приложении для iPhone.

    UIAlertView *enterNameAlert = [[UIAlertView alloc] initWithTitle:@"Enter your name"
                                                             message:@"\n\n\n"
                                                            delegate:self
                                                   cancelButtonTitle:NSLocalizedString(@"Cancel", nil)
                                                   otherButtonTitles:NSLocalizedString(@"OK", nil),nil];

    UITextField *enterNameField = [[UITextField alloc] initWithFrame:CGRectMake(16, 83, 252, 25)];
    enterNameField.keyboardAppearance = UIKeyboardAppearanceAlert;
    enterNameField.borderStyle = UITextBorderStyleRoundedRect;
    enterNameField.autocorrectionType = UITextAutocorrectionTypeNo;
    enterNameField.clearButtonMode = UITextFieldViewModeWhileEditing;
    enterNameField.returnKeyType = UIReturnKeyDone;
    enterNameField.delegate = self;
    [enterNameField becomeFirstResponder];
    [enterNameAlert addSubview:enterNameField];

    [enterNameAlert show];
    [enterNameAlert release];
    [enterNameField release];

Я имею, устанавливают этот viewController для исполнения UITextFieldDelegate в заголовочном файле, и реализованный textFieldShouldReturn: попытка отклонить клавиатуру, когда пользовательский Сделанный хит.

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    if ([textField isFirstResponder]) {
        [textField resignFirstResponder];
        NSLog(@"text field was first responder");
    } else {
        [textField becomeFirstResponder];
        [textField resignFirstResponder];
        NSLog(@"text field was not first responder");
    }
    NSLog(@"textfieldshouldreturn");
    return YES;
}

В отладчике я подтверждаю, что этот метод называют успешно, когда я касаюсь на кнопке Done, при этом текстовое поле является первым респондентом в то время. Однако клавиатура не уходит, но небольшой clearButton уходит. Ясно, что текстовое поле больше не является первым респондентом, потому что, когда я нажимаю кнопку Done снова, ничто не называют. Я просто хочу отклонить клавиатуру с кнопкой Done. Кто-либо может предложить решение? Миллион спасибо.

7
задан Anthony 27 July 2010 в 17:05
поделиться