Ich habe Probleme mit der Animation eines Etiketts, um sich in eine andere Position zu bewegen, wenn ein Benutzer horizontal scrollt.Animieren beim Scrollen mit UIScrollView SWIFT
Hier ist das Snippet ich habe:
override func viewDidLoad() {
super.viewDidLoad()
buttonTextSpacing(UIButton: vysionButton, lineSpacing: 2.5, UIColor: .black)
buttonTextSpacing(UIButton: converseButton, lineSpacing: 2.5, UIColor: .black)
buttonTextSpacing(UIButton: storiesButton, lineSpacing: 2.5, UIColor: .black)
self.storiesCollectionView.delegate = self
self.storiesCollectionView.dataSource = self
// Scroll View
self.scrollView.contentSize = CGSize(width: self.scrollView.frame.width*2, height: self.scrollView.frame.height)
self.scrollView.addSubview(storiesCollectionView)
self.scrollView.showsHorizontalScrollIndicator = false
self.scrollView.delegate = self
}
func scrollViewDidScroll(scrollUIView: UIScrollView) {
print("scrollViewDidScroll")
DispatchQueue.main.async {
UIView.animate(withDuration: 0.4, delay: 0, options: UIViewAnimationOptions.curveEaseOut, animations: {
self.scrollLabel.center.x = self.storiesButton.center.x - 1
}, completion: nil)
}
}
Im Grunde, was im zu erreichen versucht, ist, dass, wenn ein Benutzer blättert, die Animation beginnt, aber nicht beendet, bis das Blättern zum nächsten benutzerdefinierten uiview beendet ist (I Paging aktiviert haben).
Momentan ist das nicht möglich, ich kann das Scrollereignis nicht aufrufen und sogar die Beschriftung beim Scrollen nicht animieren (an die neue Position).
Vielen Dank im Voraus für Rat oder Hilfe.
Cheers, Pon