UIScrollView setContentOffset nicht Recht
Ich habe eine UIScrollView mit einigen labels im inneren. Ich kann mich bewegen der scroll-Ansicht auf der anderen 'Seite' mit einer Taste. Aber der Versatz ist nicht Recht, wenn ich push es zu schnell.
Mein code zum verschieben der scrollview auf der nächsten Seite:
@IBAction func moveToRight(_ sender: Any) {
let size = Int(scrView.contentOffset.x) + Int(scrView.frame.size.width);
scrView.setContentOffset(CGPoint(x: size, y: 0), animated: true)
}
Den offset nicht stimmt, wenn ich push es zu schnell. Es sieht aus wie das der aktuellen animation Stoppt und sich um den nächsten von der aktuellen (unvollendet) position.
Jemand hat eine Lösung dafür?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe keine Zeit zu testen, aber ich denke, Sie sind auf dem richtigen Weg über den Hauptgrund des Problems. Da
animated
eingestellt isttrue
meine Vermutung istcontentOffset.x
wurde noch nicht festgelegt, um die ultimative Wert, bis die animation beendet ist.Warum nicht ändern Sie Ihre Logik ein bisschen, und erstellen Sie eine Eigenschaft, die merkt sich die aktuelle Seite auf, wo Sie zuletzt gescrollt:
Dann jedes mal, wenn Sie nach rechts, erhöhen Sie die aktuelle Seitenzahl, wenn möglich: