如何在滚动 contentView 之前向上移动 scrollview 的框架? (当 scrollView 从屏幕中间开始时)
Posted
技术标签:
【中文标题】如何在滚动 contentView 之前向上移动 scrollview 的框架? (当 scrollView 从屏幕中间开始时)【英文标题】:How to move up scrollview 's frame before scrolling contentView? (when scrollView starts at the middle of the screen) 【发布时间】:2015-03-05 23:22:57 【问题描述】:我的滚动视图位于屏幕的垂直中心,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 //...
【问题讨论】:
【参考方案1】:一种可能的方法是在滚动视图的 contentOffset.y 值被拖动并且您的框架尚未位于顶部时简单地“重置”它。
只需尝试在您的第一个 if 子句中设置 scrollView.contentOffset = CGPointZero
。
希望这会有所帮助!
【讨论】:
谢谢,我以为它会取消它,但它没有,这是正确的解决方案,感谢您的回答以上是关于如何在滚动 contentView 之前向上移动 scrollview 的框架? (当 scrollView 从屏幕中间开始时)的主要内容,如果未能解决你的问题,请参考以下文章
如何在移动设备上向上/向下滚动后“显示/隐藏”Bootstrap 3 内容?