Ich habe eine, UIScrollView
die mehrere Ansichten hat. Wenn ein Benutzer mit dem Finger schnippt, wird die Ansicht je nach Richtung der Fingerbewegung nach rechts oder links verschoben. Grundsätzlich funktioniert mein Code ähnlich wie die iPhone-Foto-App. Gibt es eine Möglichkeit, programmgesteuert dasselbe zu tun, sodass ich eine Diashow erhalte, die mit einem Klick auf eine Schaltfläche und einer konfigurierbaren Pause zwischen den einzelnen Bildläufen eigenständig ausgeführt wird?
Wie macht man Diashows wirklich UIScrollView
?
quelle
(myScrollView.contentOffset.x +320)
.(myScrollView.contentOffset.x +320)
Lügen liegt der Schlüssel!contentOffset:
wird auch die contentSize ausgleichen, was möglicherweise nicht wünschenswert ist. Um nur zu scrollen, möchten Sie möglicherweise verwendenscrollRectToVisible:
.CGPointMake
in Swift. Erstellen Sie einfach eine Swift-Struktur direkt:CGPoint(x: 0, y: 44)
Wenn Sie die Dauer und den Stil der Animation steuern möchten, haben Sie folgende Möglichkeiten:
Passen Sie die Dauer (
2.0f
) und Optionen (UIViewAnimationOptionCurveLinear
) nach Geschmack an!quelle
Ein anderer Weg ist
quelle
CGPoint
sollte es seinCGPointMake
.Mit Animation in Swift
quelle
Ich bin erstaunt, dass dieses Thema 9 Jahre alt ist und die eigentliche direkte Antwort nicht hier ist!
Was Sie suchen, ist
scrollRectToVisible(_:animated:)
.Beispiel:
Was es tut, ist genau das, was Sie brauchen, und es ist weitaus besser als hacky
contentOffset
Von: https://developer.apple.com/documentation/uikit/uiscrollview/1619439-scrollrecttovisible
quelle
quelle
Swift 3
quelle
quelle
quelle