我找不到如何在 Xcode 中获取 iphone 上的鼠标/手指的坐标。
我试过了:
NSPoint mouseLoc;
mouseLoc = [NSEvent mouseLocation];
但这似乎不适用于iphone?API 无法识别它。
有谁知道这样做的方法?
我找不到如何在 Xcode 中获取 iphone 上的鼠标/手指的坐标。
我试过了:
NSPoint mouseLoc;
mouseLoc = [NSEvent mouseLocation];
但这似乎不适用于iphone?API 无法识别它。
有谁知道这样做的方法?
这是 Apple 的文档:UIResponder Class Reference。在 a UIView
orUIViewController
的子类中,您可以添加此方法:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touched = [[event allTouches] anyObject];
CGPoint location = [touch locationInView:touched.view];
NSLog(@"x=%.2f y=%.2f", location.x, location.y);
}
您正在使用可可类。对于 iPhone,有 cocoa.touch,您需要它的 UIEvent 类。
allTouches 方法返回窗口的所有触摸事件。一旦有触摸,您可以询问它在视图中的位置。
例子:
void event : (UIEvent*) event
{
NSSet* touches=[event allTouches];
for(UITouch* touch in touches)
{
CGPoint point=[touch locationInView: yourView];
<Do what you need to do with the point>
}
}
您可以使用 UITapGestureRecognizer 识别手指在屏幕上触摸的位置。为此,您必须在要处理触摸的控件上添加一个 UITapGestureRecognizer 对象/插座,例如在我的示例中,我在 View 上添加 UITapGestureRecognizer。
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(fingerTappedHere:)];
tapGesture.numberOfTapsRequired = 1;
tapGesture.numberOfTouchesRequired = 1;
[self.view addGestureRecognizer:tapGesture];
self.view.userInteractionEnabled = YES;
- (void)fingerTappedHere:(UITapGestureRecognizer *)sender {
CGPoint touchedPoint = [sender locationInView:self.view];
NSLog(@"x = %f, y = %f", touchedPoint.x, touchedPoint.y);
}
希望它会帮助你。如需进一步查询,请通过 sales@agicent.com 联系我们。我们会尽力解决。