Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 使旋转的轮子对触摸事件做出响应的最佳方式_Iphone_Ipad_Core Animation_Quartz Graphics - Fatal编程技术网

Iphone 使旋转的轮子对触摸事件做出响应的最佳方式

Iphone 使旋转的轮子对触摸事件做出响应的最佳方式,iphone,ipad,core-animation,quartz-graphics,Iphone,Ipad,Core Animation,Quartz Graphics,我需要正确方向的指引。 我想构建一个旋转轮控件,用户可以在其中选择一个元素 我想做到以下几点: 接收触摸事件,该事件将根据触摸移动中的手指位置旋转车轮 当所选图像指示器通过时,放大其内部的图像 我正在考虑一个核心动画-基本动画和旋转动画。 使用动画组并将其旋转 问题1: 如何将动画同步到触摸事件 问题2: 我如何知道哪幅图像是我需要放大的,例如CGAffineTransformMakeScale 我的问题有没有最佳的解决方法。特别是考虑到性能 您可以通过为每个touchmoved事件更新控制盘来

我需要正确方向的指引。 我想构建一个旋转轮控件,用户可以在其中选择一个元素

我想做到以下几点:

  • 接收触摸事件,该事件将根据触摸移动中的手指位置旋转车轮
  • 当所选图像指示器通过时,放大其内部的图像
  • 我正在考虑一个核心动画-基本动画和旋转动画。 使用动画组并将其旋转

    问题1: 如何将动画同步到触摸事件

    问题2: 我如何知道哪幅图像是我需要放大的,例如CGAffineTransformMakeScale

    我的问题有没有最佳的解决方法。特别是考虑到性能


    您可以通过为每个touchmoved事件更新控制盘来实现这一点

    对于每个touchmoved、touchbegin事件,您可以知道从车轮中心到手指的线的角度。保存开始角度,然后就可以知道差异角度。轮子可以旋转取决于你的手指使用角度

    您可以通过以下两种方式之一放大图像图标。 1.您可以知道所有控制盘中的哪个图像图标角度,还可以知道控制盘的当前角度。因此,如果图像图标位于直角之间。例如,如果车轮处于45度,则-45或360-45度的图标将放大。
    2.如果图像图标原点y高于阈值,请检查每个图像图标的y原点

    您好,在这里您可以找到实现这一目标的良好实践。如果你能给我一些指导,我将不胜感激。谢谢