7
A
回答
30
有两种方法可以完成此操作。如果你已经得到了你使用的UIView的子类,你可以重写-touchesEnded:withEvent:
方法上的子类,像这样:
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *aTouch = [touches anyObject];
CGPoint point = [aTouch locationInView:self];
// point.x and point.y have the coordinates of the touch
}
如果你还没有子类的UIView,虽然和视图是由视图控制器拥有或什么的,那么你可以使用一个UITapGestureRecognizer,像这样:
// when the view's initially set up (in viewDidLoad, for example)
UITapGestureRecognizer *rec = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapRecognized:)];
[someView addGestureRecognizer:rec];
[rec release];
// elsewhere
- (void)tapRecognized:(UITapGestureRecognizer *)recognizer
{
if(recognizer.state == UIGestureRecognizerStateRecognized)
{
CGPoint point = [recognizer locationInView:recognizer.view];
// again, point.x and point.y have the coordinates
}
}
2
2
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
CGPoint touchPoint = [touch locationInView:myView];
NSLog("%lf %lf", touchPoint.x, touchPoint.y);
}
你需要做这样的事情。 touchesBegan:withEvent:
是UIResponder
的一种方法,其中UIView
和UIViewController
都是从中导出的。如果你谷歌这种方法,那么你会发现几个教程。 MoveMe来自苹果的样品是一个很好的例子。
+0
谢谢你的帮助。 – jdl 2011-05-24 20:38:35
2
func handleFrontTap(gestureRecognizer: UITapGestureRecognizer) {
print("tap working")
if gestureRecognizer.state == UIGestureRecognizerState.Recognized
{
`print(gestureRecognizer.locationInView(gestureRecognizer.view))`
}
}
0
斯威夫特3回答
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(self.tapAction(_:)))
yourView.addGestureRecognizer(tapGesture)
func tapAction(_ sender: UITapGestureRecognizer) {
let point = sender.location(in: yourView)
}
相关问题
- 1. 如何获取手指坐标
- 2. 如何获取点击的坐标?
- 3. 如何在UIViewController中获取UIView的框架坐标?
- 4. 获取手指触摸UIView的次数
- 5. 的UIButton接受1个手指2的手指敲击事件
- 6. 在UIView级别获取UITextField Y坐标?
- 7. 如何根据鼠标点击获取3D中点的坐标?
- 8. 如何在缩放后获得正确的坐标?用手指
- 9. 获取鼠标屏幕坐标点击
- 10. 如何获取鼠标点击时的坐标
- 11. 如何获取UIImageView坐标?
- 12. 如何获取vtkboxwidget坐标
- 13. 如何获取坐标
- 14. locationManager如何获取坐标?
- 15. 画布:如何获取鼠标指针的坐标
- 16. 如何获取pymunk中的圆坐标
- 17. 如何从标准UIScrollView获取捏手势坐标?
- 18. 如何使用hammer.js实现两个手指敲击
- 19. 如何获取鼠标的坐标?
- 20. 如何获取InkCanvas中的手指数?
- 21. 的UIScrollView和敲击手势
- 22. 如何获取UINavigationController中使用的UIView原点的x/y坐标?
- 23. 如何在Xamarin.Forms中点击地图时获取坐标?
- 24. 如何在鼠标上获取控制坐标单击? C#
- 25. 如何显示图片并获取鼠标点击坐标
- 26. 点击图片,获取坐标
- 27. 获取与jquery点击图像坐标
- 28. 获取坐标
- 29. 如何获取点击图像控件上的坐标
- 30. 如何获取面板内点击事件的坐标?
touchesEnded:withEvent:也可以在UIViewController中使用,因为这也是从UIResponder派生的。 – taskinoor 2011-05-24 16:54:35
谢谢你们......这给了一个好的开始! – jdl 2011-05-24 20:36:13