Obtenir la position actuelle de l'animation de scrollview
j'ai eu le problème suivant.
je sous-classé un uiscrollview qui contentOffset est animé par le présent 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" la scrollview, je veux arrêter le courant de l'animation et de l'ensemble de la scrollview.contentoffset à la position actuelle dans le uianimation.
par exemple, l'utilisateur obtient sur l'écran, après 1 seconde, le défilement de la vue commence à défiler, si l'utilisateur touche de défilement au bout de 2 secondes et faites-le glisser, la scrollview.contentoffset devrait avoir la position exacte de l'animation en cours position.
si je reçois le contenu valeur de décalage dans la willbegindrag méthode, déjà que la dernière valeur de l'animation, uianimation définit les valeurs à la fin de l'état, puis animer.
comment puis-je obtenir la position actuelle du contenu de décalage de l'exécution de l'animation?
NSLog(@"pos of content x %f, y %f", [[self.layer presentationLayer] frame].origin.x, [[self.layer presentationLayer] frame].origin.y);
j'ai lu sur la couche de présentation, mais la vue elle-même n'est pas animé, j'ai besoin de la scrollview.contentoffset.
mhh, des idées? thx
DÉJÀ RÉSOLU:
L'auto.couche presentationLayer est absolument correcte.
Mais j'ai eu à utiliser les limites et de ne pas le cadre....
Désolé, maintenant vous et je le sais 😛
De sorte que le code correct est:
CGPoint pos = [[self.layer presentationLayer] bounds].origin;
pour obtenir la position courante d'un animé scrollview tout en animation.
OriginalL'auteur philipp | 2011-09-08
Vous devez vous connecter pour publier un commentaire.
Vous pouvez obtenir le contenu de décalage alors que la ScrollView est le défilement à l'aide du code suivant...
tous les retours de 0,000 ,
Cette réponse est hors-sujet. La question est à propos de l'obtention de la contentOffset milieu de l'animation. Cette solution contentOffset chaque rouleau d'appel.
merci, ça m'a aidé dans le concept
OriginalL'auteur booleanBoy