由于弹跳,无法获得正确的滚动视图方向

时间:2015-08-06 14:51:34

标签: ios swift cocoa-touch uiscrollview

我正在尝试隐藏同步到滚动的元素。但是滚动弹跳效果搞砸了我的动画。

override func scrollViewDidScroll(scrollView: UIScrollView) {
        if (self.lastContentOffset > scrollView.contentOffset.y) {
            "Animate UIView up"
        }
        else if (self.lastContentOffset < scrollView.contentOffset.y){
            "Animate UIView down"
    }

有没有其他方法可以让我在没有反弹的情况下得到方向。我也不想禁用反弹。

另外,因为我正在动画我的uiview同步到滚动,例如我滚动10px然后uiview高度应该最小化10px我是否需要layoutifneeded()或任何其他功能?

1 个答案:

答案 0 :(得分:2)

当它弹跳时,您可以认为它滚动超出范围&#34;,您可以检查这样的情况并仅在视图不动画时为其设置动画超出范围。

//Bouncing at the bottom
scrollView.contentOffset.y + scrollView.bounds.size.height > scrollView.contentSize.height;
// Bouncing at the top
scrollView.contentOffset.y < 0

如果contentInset属性与UIEdgeInsetZero

不同,您可能需要调整此代码