我有一个手势识别器来检测UIImageView上的轻敲,但是当iPad的方向改变时,我强制图像的位置改变,但这会导致手势识别器错误地重新定位。我该如何解决?

编辑:

strapTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(strapTap:)];
[(UITapGestureRecognizer *)strapTap setNumberOfTapsRequired:1];
strapTap.delegate = self;
[leatherButtonedStrap addGestureRecognizer:strapTap];


以上是我设置手势的方法,将其添加到我的UIImageView中。但是,可能引起混乱的是,我将此视图添加到主视图中,将其删除,然后在用户按下某个按钮时重新添加。除非您看了整堂课,否则您很难理解发生了什么,但是请告诉我这是否足够继续进行。

最佳答案

确保当您在trapTap:中调用locationInView:时,将leatherButtonedStrap发送为参数:

CGPoint location = [recognizer locationInView:leatherButtonedStrap];


因此,该位置是相对于leatherButtonedStrap的坐标系而言的,而不是其superview的坐标系。

10-08 06:04