IOS: проблема с AlertView и клавиатурой на iPad - PullRequest
0 голосов
/ 22 июня 2011

Я имею ввиду этот метод

- (void)viewWillAppear:(BOOL)animated{
[textField1 becomeFirstResponder];}

затем, когда я открываю это представление, моя клавиатура готова для записи в textField1, и все в порядке.

но когда я показываю просто предупреждение

UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"ok!" 
                                                        message:@"It's all right"
                                                       delegate:nil 
                                              cancelButtonTitle:@"OK"
                                              otherButtonTitles:nil];
    [alertView show];
    [alertView release];

когда я нажимаю "ок" в окне предупреждения, моя клавиатура исчезает и появляется снова автоматически. Почему у меня такой эффект? Могу ли я оставить этот эффект?

1 Ответ

1 голос
/ 22 июня 2011

Попробуйте реализовать метод UITextFieldDelegate

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField

Пример реализации:

- (void)showAlertView
{
     // declared as @property (nonatomic, assign) BOOL shouldHideKeyboard
     self.shouldHideKeyboard = NO;

     // code to show alert view here
     // set the alert view's delegate to self
}

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
    return self.shouldHideKeyboard;
}

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
{
    self.shouldHideKeyboard = YES;
}
...