0

我的滚动视图位于屏幕的垂直中心,view1 位于其上方,y=0。

当我向下滚动时, view1 被放大(这很好,它会创建一个缩放)。当我向上滚动时,我想将 scrollView 向上移动到屏幕顶部(y = 0),并且只有在那里,开始正常滚动以显示 contentView 的其余部分。所以 contentView 不应该滚动,直到我们到达 y=0。

我怎么能那样做?
问题是:如果我向上滚动,contentView 会滚动。所以我看不到如何检查contentView,因为frame会上升,但同时contentView也会。

这是我的滚动方法:

func scrollViewDidScroll(scrollView: UIScrollView) {
    if scrollView.contentOffset.y > 0 && scrollView.frame.origin.y > 0 {
        //goes up before we scroll contentView
        scrollView.frame = CGRectOffset(scrollView.frame, 0, ........ ) //HERE
    }

    //enlarge view
    else if scrollView.contentOffset.y < 0 { //... }
4

1 回答 1

1

一种可能的方法是在滚动视图的 contentOffset.y 值被拖动并且您的框架尚未位于顶部时简单地“重置”它。只需尝试scrollView.contentOffset = CGPointZero在您的第一个 if 子句中设置。

希望这可以帮助!

于 2015-03-05T23:34:53.130 回答