UIScrollView 奇数滚动

Posted

技术标签:

【中文标题】UIScrollView 奇数滚动【英文标题】:UIScrollView Odd Scrolling 【发布时间】:2014-12-23 12:54:00 【问题描述】:

我的 滚动视图 出现了这种非常奇怪的行为。它是在 ios 8 中使用自动布局设置的分页 滚动视图。到目前为止的屏幕非常简单,只有一些标签和一个滚动视图。共有三页。

设置是一个“容器视图”,其中有一个滚动视图滚动视图 包含一个内容视图,它从容器中获取它的大小,其宽度是容器视图大小的 3 倍,从而提供一个滚动视图,其中包含容器视图大小的 3 页内容。

弹跳已关闭,分页已打开。

滚动似乎没有“断断续续” - 我以前用UITableView 体验过这种情况,我知道当手机难以产生良好的帧速率时滚动是什么样子,我不要这么认为。

它几乎就像整个滚动视图卡在糖浆里。或者好像有人在滚动结束时向滚动视图添加了一些UIDynamics 或某种弹簧行为,因为它的翻页速度异常缓慢,无论“轻弹”滚动的强度如何。

我附上了一段视频,向您展示我的意思。我已经在模拟器上的所有设备和 iP6+/iP5s 设备上重现了这一点。

视频:http://tinypic.com/player.php?v=v5jy4p%3E&s=8#.VJljyr0CkA

这是滚动异常吗?您认为问题出在哪里?

【问题讨论】:

试试 self.myScrollView.pagingEnabled = YES; 分页工作正常,问题在于它向页面边界滚动的速度有多慢,看起来一点也不正确 scrollView.decelerationRate = UIScrollViewDecelerationRateFast; 解决了,不知道怎么解决!不过还是感谢您的帮助。 【参考方案1】:

问题是我使用的是 1800 x 600 的 Freeform UIViewController - 所以我可以在界面构建器(3 页)中布局我的内容。恢复到 600 x 600 可恢复正常滚动。我不知道为什么会发生这种情况,因为自动布局的重点是不受这些大小变化的影响,而且我的视图控制器是完全自适应的……但我们就是这样。

这是我正在使用的方法:UIScrollView Paging Autolayout & Storyboard - 它非常有用,但请注意在编译之前将视图控制器恢复到合理的大小,否则会出现奇怪的滚动!

【讨论】:

我没有遇到您遇到的缓慢滚动,但我看到 UIScrollView 的分页非常不稳定。这解决了它!非常感谢!!!!!! 另外,这个解决方案似乎只在 iOS 8 上是必需的(也许之前,不确定)。 iOS 9 IB 中的 Freeform 东西运行良好。

以上是关于UIScrollView 奇数滚动的主要内容,如果未能解决你的问题,请参考以下文章

UIScrollView 奇数滚动

何时使用 UITouch 与 UIScroll

UIScrollView 不使用 RubyMotion 滚动

滚动 UIScrollView 时如何缩放

UIScrollView 滚动问题之上的 UICollectionView

UICollectionViewCell与UIScrollView取消didSelectItemAtIndexPath