gpt4 book ai didi

ios - 使用 UIScrollView SWIFT 滚动时设置动画

转载 作者:搜寻专家 更新时间:2023-10-31 22:56:20 24 4
gpt4 key购买 nike

我在设置标签动画以在用户水平滚动时移动到另一个位置时遇到一些麻烦。

这是我的片段:

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)
}
}

基本上我想要实现的是,当用户滚动时,动画开始但直到滚动完成到下一个自定义 uiview 才结束(我也启用了分页)。

目前它没有这样做,我无法调用滚动事件,甚至无法在滚动时使标签动画(到新位置)。

非常感谢您的任何建议或帮助。

干杯,庞

最佳答案

据我了解,您在 scrollView 上有一些标签作为 subview ,并且该标签位于您滚动的某些 View 上方。您可以使用 scrollView.contentOffset.x 而不是动画。例如:你需要计算标签的起始位置和结束位置之间的距离。该距离除以 100,得到需要乘以 scrollView.contentOffset.x 的步长(距离宽度的 1%)。提供您问题的更多详细信息。

关于ios - 使用 UIScrollView SWIFT 滚动时设置动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46014919/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com