在iOS的Xcode中,如何准确地输出两个接触点之间的距离?

在iOS的Xcode中,如何准确地输出两个接触点之间的距离?,xcode,ios,touch,Xcode,Ios,Touch,我的目标是:让用户触摸屏幕上的两个不同点,应用程序将输出一个表示这些点之间距离的数字。如何实现这一点?在一个简单的层次上,您可以简单地使用毕达哥拉斯定理方法来计算两点之间的距离 double distance = sqrt(pow((x2 - x1), 2.0) + pow((y2 - y1), 2.0)); 我假定您使用的是-(void)touchsbegind:(NSSet*)touchs with event:(UIEvent*)event方法(在注册为UIResponder并通过[se

我的目标是:让用户触摸屏幕上的两个不同点,应用程序将输出一个表示这些点之间距离的数字。如何实现这一点?

在一个简单的层次上,您可以简单地使用毕达哥拉斯定理方法来计算两点之间的距离

double distance = sqrt(pow((x2 - x1), 2.0) + pow((y2 - y1), 2.0));
我假定您使用的是
-(void)touchsbegind:(NSSet*)touchs with event:(UIEvent*)event
方法(在注册为UIResponder并通过
[self-setmultipletouched:YES];
接收多次触摸后),在这种情况下,您可以通过从NSSet中提取提供的es并使用
locationInView
方法为相关触摸获取
CGPoint
来提取
CGPoint
.x
.y

如果您以前没有使用过这些类,我很想阅读以下内容:


然而,如果您以前还没有使用过这样的东西,我还建议您阅读文档,以便为您打下良好的基础。(您可能还想退一步使用这些文档,因为这些文档(连同源代码)涉及到如何捕获触摸事件等相当多的细节。)

当您收到触摸事件时,您将获得其xy坐标。你可以用我们在小学学过的公式,
d=sqrt((x_2-x_1)^2+(y_2-y_1)^2))
。这将获得它们之间的距离(以像素为单位)。iphone4的ppi为326,因此将您获得的距离除以326,就可以得到触摸之间的距离估计值,单位为英寸。

谢谢您的回复。我是新手;我以前只制作过音板。这是我第一次真正的申请。你知道我在哪里可以找到这方面的教程吗?@Mike我已经用一些额外的参考资料更新了我的答案,希望能有所帮助。(您可能还想退一步使用这些文档,因为这涉及到很多关于如何捕获触摸事件等的细节(以及源代码)