2016-09-27 4 views
1

Je veux régler le contenu offset de la vue de défilement SANS ANIMATION .C'est le code simple que je l'ai appliqué, mais sa ne fonctionne pas:animation d'arrêt dans le contenu ScrollView compensé

[_scrollView setContentOffset:CGPointMake(self.frame.size.width*currentPage, 0) animated:NO]; 

Après avoir effectué mon tâche quand je reviens à ma vue de défilement, son index remet à 0 et ensuite à mon index actuel. C'est bon. Mais pourquoi l'animation de défilement se produit-elle lorsque j'ai défini l'animation sur NON.

Aidez-nous s'il vous plaît.

+0

Je crois un autre code déclenche l'animation. – Xchord

Répondre

0

Utilisation:

_scrollView.contentOffset = CGPointMake(self.frame.size.width*currentPage, 0); 
+0

Impossible de résoudre le problème – Ghazalah

+0

Dans ce cas, il ne s'agit pas de votre ligne de code qui définit le décalage de contenu. De votre description, il semble que quelque chose d'autre (par exemple une méthode dans viewWillAppear de votre contrôleur de vue d'hébergement) manipule la vue de défilement. Sans voir plus de code, c'est difficile à dire. – norders

0

Ce fait le tour:

[UIView performWithoutAnimation:^{ [_scrollView setContentOffset: CGPointMake (self.frame.size.width * currentPage, 0) animé: NO ] }];

0

essayer ci-dessous pour arrêter l'animation:

[CATransaction begin]; 
    [CATransaction setAnimationDuration:0]; 
    [CATransaction setDisableActions:YES]; 
    [_scrollView setContentOffset:CGPointZero animated:NO]; 
    [CATransaction commit];