在新添加的UIView上接收UITouchesMoved

问题描述:

在iOS程序中,我在大视图上使用UILongPressGestureRecognizer。一旦长按被触发,我将删除大视图,并在我的手指下创建另一个缩略图视图。对于用户来说,看起来好像大视图缩小到可以移动的缩略图。在新添加的UIView上接收UITouchesMoved

一旦在我的手指下创建了这个新的缩略图,我希望能够将它移动到别的地方。但是,目前,为了移动它,我必须抬起手指并将其放回缩略图上,以便获取UITouchesBegan/UITouchesMoved消息。

如何确保UITouchesMoved开始发送到新创建的视图,而无需重新触摸屏幕?或者我应该使用其他解决方法?

是否有理由不实际缩小视图,因为这是你似乎无论如何的影响?这也可以让你轻松使用一个简短的动画来获得一个“苹果式”的用户体验。

+0

我刚想过那个。铍的诀窍同样好,特别是如果我不想将这两个子类的代码结合起来的话。 –

你不能没有触摸就做到这一点。当您将手指放大时,该视图将接收所有移动事件,直到您触摸手指。

但有一个窍门 - 当您在屏幕上移动手指时,您的大视图会继续接收事件。您可以访问所有新坐标并将其设置为缩略图。它会喜欢你移动缩略图,但实际上你只会与大视角互动。