【发布时间】:2017-09-02 14:44:26
【问题描述】:
当用户水平滚动时,我在动画标签移动到另一个位置时遇到了一些麻烦。
这是我的sn-p:
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 才结束(我也启用了分页)。
目前它不这样做,我无法在滚动时调用滚动事件,甚至无法使标签动画(到新位置)。
非常感谢您提供任何建议或帮助。
干杯, 庞
【问题讨论】:
标签: ios swift uiview uiscrollview uiviewanimation