Alors ... J'ai mon UIScrollView qui monte quand le clavier apparaît, et ça marche ... sauf que UIScrollView et le clavier ne sont pas synchronisés ... d'abord, le clavier apparaît, puis le UIScrollView.Comment retarder l'apparition du clavier iOS?
Je sais qu'il existe un moyen de retarder le clavier afin qu'il apparaisse en même temps que la vue défile vers le haut; comment je fais ça?? J'ai essayé dans viewDidLoad:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
... et j'ai cela aussi:
- (void)keyboardWillShow:(NSNotification *)notification
{
[NSTimer scheduledTimerWithTimeInterval:4000 target:self selector:@selector(keyboardWillShow:) userInfo:nil repeats:NO];
}
(je sais, 4000 est énorme, mais je voulais assurer qu'il y avait un retard
De plus, quand je ferme le clavier, plutôt que d'utiliser un défilement régulier, l'UIScrollView se remet tout simplement en place au lieu de ralentir ... y a-t-il un moyen raisonnable de s'en occuper?
MISE À JOUR:
Got ... Merci à Steven Fisher pour me aider sur la bonne voie ... je me suis déplacé tout à keyboardWillShow, et a ajouté le code suivant:
[UIScrollView beginAnimations:nil context:NULL];
[UIScrollView setAnimationDelegate:self];
[UIScrollView setAnimationDuration:.32];
[UIScrollView setAnimationBeginsFromCurrentState:NO];
D'une certaine manière cela a également résolu mon problème de "saut" quand le clavier disparaît! woohoo!
Votre travail cette arrière. Vous devriez chronométrer les changements de décalage de vues de défilement à l'animation de claviers. Et il est difficile de dire pourquoi il "recule" sans voir de code apparenté. –
Bon, alors comment je fais ça? – ScatteredFrog