如何在滚动contentView之前向上移动scrollview的框架? (当scrollView从屏幕中间开始时)

时间:2015-03-05 23:22:57

标签: ios swift uiscrollview frame contentoffset

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

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

我怎么能这样做?
问题是:如果我向上滚动,contentView会滚动。所以我没有看到如何检查contentView,因为框架会上升,但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 { //... }

1 个答案:

答案 0 :(得分:1)

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

希望这有帮助!