0

我有一种看法。单击一下,它将显示文本(它是UIView实例)。现在我想对其进行转换。转换它。但是两种情况下的接触点应该相同(在转换之后和转换之前)。这里的接触点在转换之后发生了变化。什么我应该怎么做?请帮助我。谢谢。提示也将不胜感激。代码:

[UIView beginAnimations:@"tap stopped" context:nil];
[UIView setAnimationDuration:1];
[UIView setAnimationDelegate:self];
angle = (layer.startAngle + layer.endAngle)/2;
[UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:context:)];
        self.transform = CGAffineTransformMakeRotation([self rotationThetaForNewTheta:90 andOldTheta:angle]);

[UIView commitAnimations];
title = [NSString stringWithFormat:@"Layer %d",i+1];
UIFont* font = [UIFont systemFontOfSize:15];
self.popup = [[SNPopupView alloc] initWithString:title withFontOfSize:font.pointSize];
[popup addTarget:self action:@selector(didTouchPopupView:)];
[popup setDelegate:self];
[popup showAtPoint:touchPoint inView:self animated:YES];

在这里我添加了弹出视图。转换后,它正在改变原点。

4

1 回答 1

0

我猜这个问题是因为UIView在你使用touchPoint.
您可以使用临时变量来保存touchPoint之前的转换并使用它来显示弹出窗口。

编辑::
在 's view 上 使用UITapGestureRecognizer对象ViewController,保持自定义 View 禁用用户交互

但是如果您需要在自定义视图上启用用户交互,那么首先找出与 ViewController 的视图相关的接触点的位置,并在 ViewController 的视图上出现弹出窗口。

使用UIGestureRecognizer方法:
- (CGPoint)locationInView:(UIView *)view寻找接触点。在 view 参数中传递 ViewController 的 view 以获取相对于 ViewController 的 view 的 touchPoint。

此外,inView在使弹出窗口出现在接触点时使用。在这里也传递 ViewController 的视图。

于 2013-09-16T11:38:10.497 回答