Je suis confronté à une situation très étrange. Je veux faire défiler l'UIScrollView vers visible quand le clavier apparaît sur un UITextView, et cette partie du code fonctionne bien. Mais lorsque le clavier disparaît, la fonction de défilement ne revient pas à sa position d'origine. Quand je le fais glisser, il revient à sa position d'origine. Voici ce que j'ai fait. S'il vous plaît me guider ce que j'ai manquéUIScrollView ne défile pas jusqu'à sa position d'origine lorsque le clavier disparaît
- (void)keyboardWillHide:(NSNotification *)notification {
NSDictionary* info = [notification userInfo];
kbSize = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
CGRect commentViewFrame = self.detailCommentView.frame;
commentViewFrame.origin.y += kbSize.height;
[UIView animateWithDuration:0.3 animations:^{
[self.detailCommentView setFrame:commentViewFrame];
self.scrollView.contentOffset = CGPointMake(0, self.detailCommentView.frame.origin.y - 90);
} completion:^(BOOL finished) {
}];
}
- (void)keyboardWillShow:(NSNotification *)notification {
NSDictionary* info = [notification userInfo];
kbSize = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
CGRect commentViewFrame = self.detailCommentView.frame;
commentViewFrame.origin.y -= kbSize.height;
[UIView animateWithDuration:0.3 animations:^{
[self.detailCommentView setFrame:commentViewFrame];
self.scrollView.contentOffset = CGPointMake(0, self.detailCommentView.frame.origin.y + 90);
} completion:^(BOOL finished) {
}];
}
Mon erreur, le bon est self.detailCommentView.frame.origin.y. Permettez-moi de le modifier maintenant, et merci pour la réponse aussi. Laissez-moi vérifier si cela fonctionne ou non. –
Je n'ai pas compris la première partie de votre solution. Voulez-vous s'il vous plaît partager un code. Merci –
Je voudrais essayer de remplacer 'UIKeyboardFrameBeginUserInfoKey' avec' UIKeyboardFrameEndUserInfoKey' dans votre code et voir si cela fonctionne – RaffAl