Comportement attendu: l'utilisateur clique à l'intérieur TextField1
, le clavier apparaît, l'utilisateur entre une valeur, NextButton
est pressé, le clavier doit être fermé. Anomalie: le clavier est annulé en appuyant sur NextButton
, mais il réapparaît après que les alertes qui suivent soient ignorées! Pourquoi?Rejet erratique du clavier logiciel
D'autre part, si l'alerte est jamais appelé (//[self showDisclaimer]
) le clavier se ... correctement rejeté
Je sais que alertView
est dépréciée, mais ce n'est pas la source de l'erreur, parce que je reçois exactement le même comportement si j'utilise UIAlertController
à la place.
Quelqu'un peut-il nous éclairer à ce sujet?
- (IBAction) NextButton: (id) sender
{
[self backgroundTouch:id]; //Dismisses the keyboard
[self showDisclaimer];
}
- (void) showDisclaimer {
UIAlertView *alertView = [[UIAlertView alloc]
initWithTitle:@"Disclaimer" message: @"bla bla bla"
delegate:self
cancelButtonTitle: nil
otherButtonTitles:@"Don't agree", @"I AGREE", nil];
[alertView show];
}
- (void)alertView:(UIAlertView *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
NSString *title = [alertView buttonTitleAtIndex:buttonIndex];
if([title isEqualToString:@"I AGREE"])
{
[self showAlert];
}
else if([title isEqualToString:@"Don't agree"])
{
//Do something else
}
}
- (IBAction) backgroundTouch: (id)sender {
[TextField1 resignFirstResponder];
}
jeddi fiollow la réponse ci-dessous – user3182143