如何在滚动内容视图之前向上移动滚动视图的框架?(当滚动视图从屏幕中间开始时)



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

当我向下滚动时,view1 被放大(这工作正常,它会创建缩放)。当我向上滚动时,我想将滚动视图向上移动到屏幕顶部(y=0),并且只有在那里,开始正常滚动以显示其余的内容视图。因此,在我们达到 y=0 之前,内容视图不应滚动。

我该怎么做?
问题是:如果我向上滚动,内容视图滚动。所以我看不到如何检查内容视图,因为框架会上升,但内容视图也会同时上升。

这是我的滚动方法:

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 { //... }

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

希望这有帮助!

最新更新