2013-02-21 4 views
1

Je cherche à obtenir le déplacement de UIScrollView quand un utilisateur est en train de faire défiler, j'ai juste besoin du déplacement chaque fois qu'il défile. En utilisant cette méthodeDéplacement UIScrollview lors du défilement

-(void)scrollViewWillEndDragging:(UIScrollView *)scrollView 
        withVelocity:(CGPoint)velocity 
      targetContentOffset:(inout CGPoint *)targetContentOffset{ 
    NSLog(@"VELOCITY :- %f , %f",velocity.x,velocity.y); 
    NSLog(@"inout offset: %@ ",targetContentOffset); 
} 

je peux obtenir la vitesse mais toujours besoin de connaître la distance réelle dans une direction afin que le déplacement est calc correctement.

grâce,

Répondre

1

la propriété contentOffset vous donner ceci. dans la méthode ci-dessus targetContentOffset vous donnera le décalage d'extrémité après la décélération et l'arrêt. Généralement, la méthode ci-dessus est utilisée pour changer le décalage d'extrémité à votre souhait. D'autres méthodes de déplacement ou de défilement peuvent également être utilisées avec le scrollView.contentOffset pour calculer le déplacement.

contentOffset.x & contentOffset.y vous donnera respectivement un déplacement dans les directions x & y.

+0

mais encore il y a un problème .... comme le déplacement exact n'est pas montré ... j'ai zoomé à l'échelle: - 2.0 puis en enregistrant le déplacement et le marqueur que je dois déplacer en fonction du déplacement du rouleau est à l'échelle : - 1,0. maintenant j'ai divisé disp/2 mais il y a un problème, c'est la somme de tous les déplacements car la valeur de contentOffset.x & contentOffset.y est assez élevée. – Sumitiscreative

+0

consultez la réponse acceptée pour cette question. cela vous donnera un calcul de contentOffset après un zoom: http://stackoverflow.com/questions/3954757/uiscrollview-content-offset-calculation-after-zoom – Rakesh

+0

Ouais j'ai pu obtenir ça tout seul, mais pratiquement le problème est toujours là, ici il est: - NSLog (@ "offset: -% f,% f", scrollView.contentOffset.x, scrollView.contentOffset.y); // NSLog (@ "offset 2: -% @", & targetContentOffset); NSLog (@ "Ancienne position de rect:% f,% f", newRect.center.x, newRect.center.y); newRect.center = CGPointMake (newRect.center.x + (scrollView.contentOffset.x)/2, newRect.center.y + (scrollView.contentOffset.y)/2); ' NSLog (@" Nouvelle position de rect:% f,% f ", newRect.center.x, newRect.center.y);' code' – Sumitiscreative

Questions connexes