当我从 iPhone 模拟器的硬件菜单中选择“摇动手势”时,我的第一响应者总是会收到两个摇动事件(其间有几毫秒)。
不幸的是,模拟器中的这两个事件导致UIScrollview
应该滚动到特定位置的问题 - 它的作用,但仅限于第一个事件。
所以我有以下两个问题(它们以某种方式相互关联)......
问题 1
为什么模拟器会为一个“摇动手势”生成两个摇动事件?
注意:在真机上测试时不会发生这两个事件。真正的 iPhone 上的震动总是会产生一个事件。
问题2
有没有办法确保两个后续调用[myScrollView setContentOffset:CGPointMake(x,0) animated:YES];
都正确执行?
注意:我觉得有趣的是——当我在调用中设置animated:
为时NO
,setContentOffset
它完美地工作——两个调用都被执行了!不幸的是,这不是我正在开发的应用程序的选项。
顺便说一句,这个问题很容易重现。setContentOffset
只需对 an 进行两次动画调用,UIScrollview
然后只找到第一个执行的......
[myScrollView setContentOffset:CGPointMake(300,0) animated:YES]; //this one works
[myScrollView setContentOffset:CGPointMake(100,0) animated:YES]; //this one not
提前致谢!
最好的,马库斯