Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/102.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
Ios 在同一UIImageView上移动、缩放和绘制_Ios_Uiimageview_Uiimage_Uigesturerecognizer - Fatal编程技术网

Ios 在同一UIImageView上移动、缩放和绘制

Ios 在同一UIImageView上移动、缩放和绘制,ios,uiimageview,uiimage,uigesturerecognizer,Ios,Uiimageview,Uiimage,Uigesturerecognizer,我想在UIImageView上画图,我使用TouchsMoved和TouchsBegind来实现这一点,它是有效的 我使用夹点识别器进行缩放,它也可以工作 但是我怎样才能移动它呢?因为如果我使用pan识别器,它将与TouchsMoved冲突 我如何做到这一点?只有当用户使用3个手指时才会调用pan识别器 我想其他人已经面临这个问题了 谢谢使用带有两个触摸的触摸移动,用户可以用两个手指滑动图像,但只需一个手指即可绘制。。。此外,在任何地方使用3个手指都不是一个好主意,因为任何在设备可访问性中启用了

我想在UIImageView上画图,我使用TouchsMoved和TouchsBegind来实现这一点,它是有效的

我使用夹点识别器进行缩放,它也可以工作

但是我怎样才能移动它呢?因为如果我使用pan识别器,它将与TouchsMoved冲突

我如何做到这一点?只有当用户使用3个手指时才会调用pan识别器

我想其他人已经面临这个问题了


谢谢

使用带有两个触摸的触摸移动,用户可以用两个手指滑动图像,但只需一个手指即可绘制。。。此外,在任何地方使用3个手指都不是一个好主意,因为任何在设备可访问性中启用了三次点击缩放功能的人都将无法使用3个手指的功能。(我和我的很多朋友都启用了此功能)

首先确认两个触摸都在UIImageView上 然后从两次触摸中获取x&y值,并将其平均,以获得手指之间的中点。使用此值进行平移。 查找当前平均中点和上一个平均中点之间的更改,并将此更改应用于图像中心


image.center=CGPointMake(image.center.x+changeInX,image.center.y+changeInY)

是的,它工作正常,谢谢!但如果我添加PinchGestureRecognitor,TouchsMoved也将被调用:(如何避免这种情况?摆脱触摸移动,用swipeGesture识别器取代它……现在你可以用单刷画画,用双刷平移……苹果的API将区分捏拉和双指滑动。否则,你将不得不做大量的数学运算,你将无法使用你必须做的捏拉你自己的。