ios - ScrollView.contentOffset.y 无法移动小于 0.333 像素

标签 ios swift scrollview contentoffset

我正在尝试创建一个提词器。基本上是自动滚动scrollView

我每 X 一次将 scrollView.contentOffset.y 移动 1 点/像素。

我为用户提供了减慢动画速度的选项,我想通过移动更少的点来实现这一点,而不是增加调用每个像素移动所需的时间。

但我无法将点大小减小到小于 0.3333。当要求 0.2 的运动时,它会向上舍入到 0.333,0.1 会向下舍入到 0,所以我得到 0 运动。这是为什么?我该如何改变它?

最佳答案

偏移量以点为单位。在 3x 设备上,单个像素为 0.3333 点。显然你不能滚动部分像素。

有效解决此问题的一个解决方案是保留您自己的偏移量值,您可以以较小的值递增。然后用您自己的运行值更新 ScrollView 的偏移量。不要尝试向 ScrollView 的偏移量添加 0.1 或 0.2 等内容。增加您自己的值并更新 ScrollView 的偏移量。当然, ScrollView 的实际移动不会像您的小更新那样细粒度,但整体滚动会更慢。

关于ios - ScrollView.contentOffset.y 无法移动小于 0.333 像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56637068/

相关文章:

ios - 将目标添加到 tableview 单元格内的 collectionview 单元格的按钮

ios - UIPrintInteractionController (Swift) 最多可以执行多少次打印?

android - 在不使用 Scrollview 的情况下使 Linearlayout 可滚动

android - 可扩展列表未在 ScrollView 内扩展

ios - 在没有UINavigationController的情况下向navigationItem添加backBarButtonItem?

objective-c - 从 ViewController 访问 drawRect?

ios - 将不同的 Google 地点类别归为一类

ios - 使用 DatePicker 和 TextField 时将 String 转换为 NSDate

ios - 在 UICollectionViewCell 的 subview 上调用 removeFromSuperview 在第一次加载时不起作用,仅当单元格被重用时

Android ScrollView 不起作用