2011-07-19 5 views
0

J'ai 2 vues, connectez-vous et enregistrez-vous.Masquer le clavier lorsque vous passez à une autre vue

J'ai fait [currentTextField resignFirstResponder]; avant que je navigue vers l'autre vue.

Le problème est que le clavier n'est caché qu'après avoir changé de vue. Ce qui a donc déclenché la méthode keyboardDidShow sur l'autre vue qui gâche tout.

2011-07-19 18:55:33.315 Prime Taxi Booking[601:207] Login view appear // lauched app 
2011-07-19 18:55:34.952 Prime Taxi Booking[601:207] Login Keyboard appear // starts typing 
2011-07-19 18:55:37.033 Prime Taxi Booking[601:207] Register view appeared // navigation 
2011-07-19 18:55:37.036 Prime Taxi Booking[601:207] Login view disappear 
2011-07-19 18:55:37.360 Prime Taxi Booking[601:207] Register Keyboard disappear // ?? how do I make this to disappear login keyboard instead? 

Je me demande pourquoi il a seulement resignFirstResponder après avoir changé de vue quand je l'ai clairement placé au-dessus.

-(IBAction) registerButton:(id) sender 
{ 
[currentTextField resignFirstResponder]; 
Registers *registerview = [[Registers alloc] initWithNibName:nil bundle:nil]; 
[UIView beginAnimations:@"flipping view" context:nil]; 
[UIView setAnimationDuration:1]; 
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn]; 
[UIView setAnimationTransition: UIViewAnimationTransitionCurlUp 
         forView:self.view.superview 
         cache:YES]; 

[UIView commitAnimations]; 

[self presentModalViewController:registerview animated:YES]; 

//[self.view addSubview:registerview.view]; 

}

Répondre

1

vous pouvez mettre un peu de retard avant d'aller au second point de vue afin que le clavier se cacher. try [self performSelector: withObject: afterDelay: 0.35]; // Passez le sélecteur comme @selector (displaySecondView) avant d'appeler ce champ de texte actuel.

+0

De bonnes choses, au début, je n'étais pas vraiment sûr de savoir comment l'utiliser, mais j'ai appris d'une manière ou d'une autre. Vraiment nouveau à cela. Merci beaucoup :) –

Questions connexes