我用过
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];
给了我一个错误
为什么???
答案 0 :(得分:1)
我没有看到代码中的错误,但错误表明传递的gestureRecognizer实例不是UITapGestureRecognizer。在失败的行上放置一个断点并获取类型信息gestureRecognizer。
除此之外:确保您使用的是iPhone 4.0或更高版本的SDK。 iPad的手势识别器为3.2,iPhone的版本为4.0。)我怀疑你没问题,因为如果你没有使用正确的SDK,我认为你会先得到错误。
答案 1 :(得分:0)
尝试使用:
CGPoint loc = [gestureRecognizer locationInView:self.view];
或者重命名UIView *视图..就像这样:
UIView* gesturevView = gestureRecognizer.view;
CGPoint loc = [gestureRecognizer locationInView:gesturevView];