UIScrollView 不会在特定点停止,它会弹回顶部

Posted

技术标签:

【中文标题】UIScrollView 不会在特定点停止,它会弹回顶部【英文标题】:UIScrollView doesn't stop at specific point it bounces back to top 【发布时间】:2013-07-09 09:50:23 【问题描述】:

我对编程和目标 C 非常陌生,所以你必须对我放轻松。我确信应用程序中的某些代码可能是不必要的。我在谷歌和 *** 上搜索了答案,但没有一个解决方案对我有用,要么是因为它们不是正确的解决方案,要么我只是误解了答案。 我的 UIScrollView 有问题,问题是当我向下滚动时,由于我放开 UIScrollView,它会弹回顶部,因此我无法与刚刚滚动到的内容进行交互。我的代码是:

[self.scroller123 setScrollEnabled:YES];
[self.scroller123 setContentSize:CGSizeMake(320,1200)];

提前致谢

【问题讨论】:

添加更多代码?上面很难给出答案。 滚动到特定点时需要设置contentOffset。 我只使用上面的滚动代码 如果滚动时它会自动滚动弹回,则 scrollView 高度大小不高于内容大小。所以我们必须重新增加内容大小的scrollView高度 你能告诉我scrollviewsize在哪里吗?我只是为了确保 【参考方案1】:

不要使用setContentSize来滚动,那是为了设置可滚动内容的大小(所以你通常只做一次)

使用setContentOffset:CGPointMake(0,Y_TO_SCROLL_TO);

【讨论】:

[self.scroller123 setContentOffset:CGPointMake(0,1000)];当我使用此代码时,我的全部内容将从屏幕上消失。 尝试一个低于 1000 的值,1000 可能太多了【参考方案2】:

根据您的要求调整滚动视图的内容大小高度。就是这样!!!

【讨论】:

【参考方案3】:

设置滚动视图的内容大小,如下所示..

[self.scroller123 setContentSize:CGSizeMake(self.scroller123.frame.size.width,__your_desired_height)];

并且 __your_desired_height 应该等于 Scroll 视图中最后一个内容的(高度+Y 的原点)。

希望这会对你有所帮助。

【讨论】:

以上是关于UIScrollView 不会在特定点停止,它会弹回顶部的主要内容,如果未能解决你的问题,请参考以下文章

仅在特定值上停止 NSScrollView - 像 UIScrollView 分页

在特定点停止 CABasicAnimation

当用户在 UIButton 上滑动时,UIScrollView 停止工作

防止重叠的 UIScrollView 滚动

使用 scrollViewWillEndDragging 确保 UIScrollView 在定义的增量处停止

UIScrollView 无限滚动 setContentOffset