這是我的目標:讓用戶觸摸屏幕上的兩個不同點,應用程序將輸出一個代表這些點之間距離的數字。我怎樣才能做到這一點?如何輸出Xcode for iOS中兩個觸摸點之間的距離?
4
A
回答
11
在簡單的層面上,您可以簡單地使用如下的畢達哥拉斯定理方法來計算兩點之間的距離。
double distance = sqrt(pow((x2 - x1), 2.0) + pow((y2 - y1), 2.0));
我想你正在使用- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
方法(註冊爲UIResponder和經由[self setMultipleTouchEnabled:YES];
接收多個觸摸後),在這種情況下,可以通過提取提供UITouch ES提取CGPoint
的.x
和.y
值來自NSSet並使用locationInView
方法來獲得針對所述觸摸的CGPoint
。
如果你還沒有使用過這些課程,我會忍不住對讀了起來:
但是,如果你還沒有使用這樣的事情之前,我也建議讀一下Event Handling Guide for iOS文檔給你一個很好的基礎。 (您可能還想退後一步並使用Creating an iPhone Application文檔,因爲這些文檔涉及如何捕獲觸摸事件等相關細節(以及源代碼)。)
2
當您收到一個觸摸事件,你得到它的xy座標。你可以使用我們在小學學到的那個公式,d = sqrt((x_2 - x_1)^2 + (y_2 - y_1)^2))
。這將使您獲得它們之間的像素距離。 iphone4有326 ppi,所以把你得到的距離除以326,你就可以估計觸摸之間的距離,以英寸爲單位。
相關問題
- 1. Android:兩個觸摸位置之間的物理距離
- 2. Matlab中兩點之間的距離
- 3. 兩個地理點之間的距離?
- 4. 計算Google Maps for Ionic 2中兩點之間的距離
- 5. 如何獲得距離眩暈兩點之間的距離
- 6. 的Xcode在谷歌兩個地點之間的距離映射
- 7. 距離之間的兩個
- 8. 我如何計算Java中兩個gps點之間的距離?
- 9. 如何計算GraphX,Scala中兩個節點之間的距離?
- 10. Hive:兩點之間的距離
- 11. 兩點之間的Cloudmade距離
- 12. 兩點之間的測地距離
- 13. 如何計算兩個地理點之間的距離
- 14. 如何找到兩個點之間的距離android
- 15. 如何找到兩個地點之間的距離?
- 16. 獲取兩個地理點之間的距離 - 離線地圖
- 17. 兩個詞之間的語義距離
- 18. 如何計算Perl中兩點之間的距離?
- 19. 如何計算MkMapview中兩點之間的距離?
- 20. 如何計算谷歌地圖中兩點之間的距離?
- 21. 如何計算Java中兩點之間的距離
- 22. 如何找到兩個分離最廣的節點之間的距離
- 23. 目標C:觸摸點距離
- 24. 兩個GEO位置之間的距離
- 25. 兩個矩形之間的距離
- 26. 樹中兩個節點之間的距離加權
- 27. 在Python中找到兩個gps點之間的距離
- 28. 計算兩個點之間的距離iphone
- 29. 經典ASP中兩個緯度/長點之間的距離
- 30. 兩個經緯度之間的距離
感謝您的回覆。我是新來的;我以前只創建過音板。這是我第一個真正的應用程序。你知道我在哪裏可以找到這個教程嗎? – 2011-04-27 20:08:46
@Mike我已經更新了一些額外的參考資料,希望對您有所幫助。 (您可能還想退後一步並使用[創建iPhone應用程序](http://developer.apple.com/library/ios/#referencelibrary/GettingStarted/Creating_an_iPhone_App/_index.html#//apple_ref/doc/uid/TP40007595)docs,因爲這涉及到很多細節(以及源代碼),關於如何捕獲觸摸事件等) – 2011-04-27 21:18:16
好吧,謝謝。 – 2011-04-28 15:30:22