3

我用了

UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];
[self.view addGestureRecognizer:singleTap];
- (void)handleSingleTap:(UIGestureRecognizer *)gestureRecognizer {
    UIView* view = gestureRecognizer.view;
    CGPoint loc = [gestureRecognizer locationInView:view];
}

但这给了我一个错误CGPoint loc = [gestureRecognizer locationInView:view]; 为什么???

4

2 回答 2

1

我在您的代码中没有看到错误,但是该错误表明正在传递的gestureRecognizer 实例不是UITapGestureRecognizer。在失败的行上放置一个断点并获取类型信息gestureRecognizer。

另外:确保您使用 iPhone 的 SDK 4.0 或更高版本。手势识别器的 iPad 版本为 3.2,iPhone 版本为 4.0。)我怀疑你没问题,因为我认为如果你没有使用正确的 SDK,你会更早地得到一个错误。

于 2011-03-05T19:14:22.627 回答
0

尝试使用:

CGPoint loc = [gestureRecognizer locationInView:self.view];

或者重命名 UIView *view.. 像这样:

UIView* gesturevView = gestureRecognizer.view; 
CGPoint loc = [gestureRecognizer locationInView:gesturevView];
于 2010-09-27T11:37:54.163 回答