我有一个scrollview和一些图像上方。当滚动视图scrollView.contentOffset.x超过某个X时,我上面的图像应设置动画。

我知道如何制作动画。目前,我正在- (void)scrollViewDidScroll:(UIScrollView *)scrollView方法中执行此操作。

if (scrollView.contentOffset.x == 160) {
 //animate Image
}

但有时它会得到160,但有时它会超过160。我该如何解决?

最佳答案

添加一个实例变量,将其设置为您在上次调用scrollViewDidScroll:时所看到的偏移量,并使用它来确定是否要设置动画:

// Instance variable
CGPoint lastOffset;
...
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    ...
    if (lastOffset.x < 160 && scrollView.contentOffset.x >= 160) {
        //animate Image
    }
    lastOffset = scrollView.contentOffset;
}

这样,每次滚动视图从160以下到160以上时,您都可以对图像进行动画处理。

10-02 01:48
查看更多