J'ai eu le problème suivant.Obtenir la position actuelle de scrollview animé
i un sous-classé UIScrollView qui contentOffset est animée par ce code:
[UIView animateWithDuration:1.0
delay:1.0
options:options
animations:^{
self.contentOffset = CGPointMake(label.frame.size.width, 0);
}
completion:^(BOOL completed) {
//some other stuff
}];
Maintenant, lorsque l'utilisateur « willBeginDragging » le scrollview, je veux arrêter l'animation et définir les scrollview.contentoffset au courant position qu'il a dans l'uianimation. Par exemple, l'utilisateur entre dans l'écran, après 1 seconde, la vue déroulante commence à défiler, si l'utilisateur touche le défilement après 2 secondes et le fait glisser, le scrollview.contentoffset doit avoir la position exacte de la position d'animation actuelle .
Si j'obtiens la valeur de décalage de contenu dans la méthode willbegindrag, elle est déjà la dernière valeur de l'animation, car uianimation met les valeurs à l'état final, puis l'anime.
Comment puis-je obtenir la position actuelle du décalage de contenu à partir de l'animation en cours d'exécution?
NSLog(@"pos of content x %f, y %f", [[self.layer presentationLayer] frame].origin.x, [[self.layer presentationLayer] frame].origin.y);
'ai En savoir plus sur la couche de présentation, mais la vue elle-même est pas animé, j'ai besoin scrollview.contentoffset.
mhh, des idées? thx
DÉJÀ RESOLU:
Le self.layer est tout à fait correcte couche de présentation.
Mais je devais utiliser les limites et pas le cadre ....
Désolé, maintenant vous et je le sais: P
donc le bon code est:
CGPoint pos = [[self.layer presentationLayer] bounds].origin;
pour obtenir la position actuelle d'un scrollview animé pendant l'animation.
Merci beaucoup – SampathKumar
tous les retours 0.000, –
Cette réponse est hors-sujet. La question est d'obtenir le contentOffset mid-animation. Cette solution obtient contentOffset chaque appel de défilement. – rizzes