小编Adr*_*oer的帖子

第一次接触开球和触球移动至少有一次不稳定的跳跃.如何最好地捕获事件以获得平稳的低速touchesMoved情况?

[问题在底部]

我试图重新实现UIScrollView由于各种原因,并注意到通过touchesBegan和touchesMoved 捕获第一个触摸位置有一个不稳定的跳跃,通常在前5个事件中.

此异常值目前将导致我的实现在平滑跟踪选择之前将滚动内容跳转几个像素.

这意味着即使手指以恒定速度移动,触摸事件之间的距离也不会(接近)恒定(=第一次触摸移动事件被延迟,因此不能平滑地对应于手指移动).

如果手指停留几个事件周期,则不会发生这种情况.此外,当在iPad上进行测试并使用没有合并/预测触摸的铅笔,体验是平滑的并且不会发生跳跃

基于此,我猜想在完全60赫兹的触摸跟踪可用之前,设备需要很短的时间进行预热.因为即使没有特定的铅笔代码(例如合并/预测),铅笔也不会显示出前几次触摸跳跃的迹象,因此可以合理地假设设备根据尖端靠近屏幕而变暖(我记得这一点)一些Apple演示文稿),加上通常高得多的采样率

最后,使用模拟器和触控板拖动来测试这显示没有任何跳跃,无论速度如何,支持用手指输入的真实iOS设备的唤醒阶段论文.

我在网上找不到任何关于这个的信息,很可能是因为我不知道要搜索什么.

使用和不使用铅笔在iPhone X和iPad pro 10.5上进行测试

苹果一个很好的例子项目是在这里,在一个简单的绘图层可以带或不带铅笔使用.

屏幕截图显示了三个示例线条,在iPad上以不同的速度从左到右,最快的速度在iPad上.线段是单独的触摸测量,浅灰色用于显示合并事件(使用铅笔会更频繁地发生).很明显,第一个touchesMoved事件触发的时间晚于跟踪事件,导致跟踪距离跳跃.

触摸事件之间的距离

我没有理由相信这是一个实现问题,因为我用多个小例子测试它.如上所述首先休息手指不会导致这种情况,这意味着它也不应该是手指本身的问题(初始阻力/粘性等)

在查看Apple UIScrollView时,没有跳跃.无论交互如何开始(休息与立即行动,快速与慢速运动),体验都是顺畅的.这引出了以下问题:

是否有一些我遗漏的实施细节?也许Apple正在使用一些内部设置?似乎不太可能,但谁知道

Apple是否使用一些短暂的动画来隐藏测量中的这个初始差距? 我想用手机240fps slomo来看这个,但还没有这样做.如果他们有动画,知道他们是怎么做的吗?某些机制可以比~X事件的touchesMoved delta更快地转换视图,直到它可以赶上最小的视觉干扰?不知道,听起来很复杂

还有其他任何想法如何在没有低速单次初始跳转的情况下,如何基于touchesMoved事件很好地平滑地转换元素?

uitouch ios swift

6
推荐指数
0
解决办法
293
查看次数

如何在Chrome开发工具 - > Web SQL数据库中查看整列内容

Chrome开发工具支持查询Web sql数据库,但结果显示在一个表格中,该表格使用省略号切断了太长的字符串(...)

如何查看整列内容?由于截止,ctrl-a selection + copy不起作用

google-chrome google-chrome-devtools web-sql

4
推荐指数
1
解决办法
937
查看次数