UIScrollView contentOffset动画到另一个点

时间:2017-07-25 12:02:00

标签: ios iphone swift animation uiscrollview

美好的一天, 我在这里面对UIScrollView中的有线行为。我正在实现一个自定义循环UIScrollView,并且我已经将滚动视图的原点设置为一个点

scrollView.setContentOffset(CGPoint(x: 0, y: 0), animated: false)

之后,我使用动画将内容偏移更改为特定点

scrollView.setContentOffset(CGPoint(x: point, y: 0), animated: true)

问题在于虽然点是正确的(例如400),但是scrollview有时会跳转到另一个点,因此如果point = 10,则下面的代码应该打印10,但有时它会打印其他值。

scrollView.setContentOffset(CGPoint(x: point, y: 0), animated: true)                        
DispatchQueue.main.asyncAfter(deadline: .now() + 1, execute: {
                        print("Current x: \(self.tabsScrollView.contentOffset.x)")})

虽然我确定没有其他动画正在进行中。

我发现有人在暗示这样的事情

UIView.animate(withDuration: 0.5, animations: { 
                        self.scrollView.contentOffset.x = point
                    })

令人惊讶的是它确实有效,但不像默认那样动画。 有什么想法吗?

0 个答案:

没有答案