繁体   English   中英

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

[英]How to move up scrollview 's frame before scrolling contentView? (when scrollView starts at the middle of the screen)

我的scrollview在屏幕的垂直中心,view1在屏幕的上方,y = 0。

当我向下滚动时,view1会放大(这很好,它会创建一个缩放)。 当我向上滚动时,我想将scrollView向上移动到屏幕顶部(y = 0),然后仅在此处开始正常滚动以显示contentView的其余部分。 因此,contentView在到达y = 0之前不应该滚动。

我该怎么办?
问题是:如果我向上滚动,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 { //... }

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

希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM