我在试着创造一个提词器。基本上是自动滚动scrollView。
我将我的scrollView.contentOffset.y每X次移动1个点/像素。
我给用户提供了放慢动画速度的选项,我想通过移动更少的点来做到这一点,而不是增加调用每个像素移动所需的时间。
但是我不能把点的大小减到0.3333以下。当调用0.333的移动时,它向上舍入为0.333,0.1向下舍入为0,所以我得到的是0移动。为什么会这样?我如何才能改变它?
发布于 2019-06-18 02:45:41
偏移以点为单位。在3x设备上,一个像素是0.3333点。显然,你不能滚动一个部分像素。
有效解决此问题的一种解决方案是为偏移量保留您自己的值,您可以在较小的值中增加偏移量。然后使用您自己的运行值更新滚动视图的偏移量。不要试图在滚动视图的偏移量上添加类似0.1或0.2的内容。增加你自己的值并更新滚动视图的偏移量。当然,滚动视图的实际移动不会像您的小更新那样细粒度,但整体滚动会更慢。
https://stackoverflow.com/questions/56637068
复制相似问题