繁体   English   中英

无法使用 UIScrollView 和 pagingEnabled=YES 禁用反弹

[英]Can't disable bounce with UIScrollView and pagingEnabled=YES

我有UIViewController里面装有UIScrollView

m_scrollViewpagingEnabled=YES;

在每个“页面”上,我都有 UIViewController 显示文章。

为了防止用户在页面之间滑动时弹跳,我使用了:

m_scrollView.bounces=NO;

乃至

m_scrollView.alwaysBounceHorizonal=NO;

我注意到更改仅针对未反弹的最后一页。 但是当滑动其他页面时,它们会反弹。

编辑:最佳解决方案是使第一页和最后一页弹跳(因此用户将得到repsond没有更多的页面\分页)和其他页面没有弹跳

滑动页面时弹跳的烦人是弹跳效果不相等。 有时它会弹得更多,有时弹得更少。

我认为这与页面中的加载数据有关,但我不认为是这种情况,因为当所有页面都加载并且后台没有发生异步加载操作时也会发生这种情况。 有任何想法吗?

编辑 2:我猜弹跳属性大约是 UIScrollView 的边缘,但是当从一个页面移动到另一个页面时,也会出现弹跳。 有时我可以看到一点下一页。 例如:从第 2 页刷到第 3 页,在 animation 的刷卡中我可以看到 0.1 秒第 4 页。

另外,刷卡的animation也不是恒定的。 并且感觉每次滑动都没有什么不同。 提前致谢。

这样做:

_scrollView = [[UIScrollView alloc]init];
_scrollView.pagingEnabled = YES;
_scrollView.bounces = NO; //Here

然后,不再反弹!

如果你为你的 UIScrollView 设置了一个代理,当用户将手指从屏幕上移开时,该代理将收到scrollViewWillBeginDecelerating: 然后,您可以使用 UIScrollView 的setContentOffset:animated:方法进行控制,将最近的页面滚动到视图中,或者使用animateWithDuration:animations:方法设置您自己的 animation – 我不确定您自己的 animation 是否会优先不过,已经在进行中的减速。

您还可以将 UIScrollView 的decelerationRate设置为UIScrollViewDecelerationRateFast ,这样可以使这种情况下的滚动更加一致。

将滚动条的反弹属性设置为假/否....之后它不会反弹...尝试一下希望您能得到您的解决方案....

暂无
暂无

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

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