Ziel C: uiscrollView (PagagingEnabled): Wenn die nächste Seite eingeht, starten Sie die Animation
-
27-10-2019 - |
Frage
Es tut mir leid für den Titel, den ich nicht weiß, was ich dort schreiben soll.
Ich habe eine Scrollview mit vielen Seiten und auf jeder Seite gibt es verschiedene Animationen, die beginnen sollten, wenn der Benutzer zu dieser Seite wechselt.
Ich habe das versucht:
if (CGPointEqualToPoint (CGPointZero, CGPointZero))
{
//start animation
}
Es funktionierte nur für die erste Seite
Als ich es zu änderte, um es zu CGPointEqualToPoint (CGPointMake (768, 0), CGPointZero)
Für die nächste Seite funktioniert es nicht.
Ich versuche, dieses `zu verwenden
- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset
Aber dann fand ich heraus, dass es nicht funktioniert, wenn die Bildlaufansicht pagingEnabled
ist YES
.
Lösung
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
Durch die Verwendung dieser Delegierten -Methode der Bildlaufansicht können Sie beim Fertigstellen von Scrolling erhalten und die Bedingungen beibehalten, indem Sie die Animation starten.
Andere Tipps
Verwenden Sie die Bildlaufansicht contentOffset
um zu lernen, wo du bist.
Sehen Sie sich auch diese Frage an, um herauszufinden, welche Delegierten -Methoden Sie verwenden müssen: So erkennen Sie, wann eine UiscrollView das Scrollen beendet hat