2009-10-05 21 views
0

我正在開發一個應用程序爲iphone加載一些信息到webview.I使用hittest委託來捕捉觸摸,現在我需要找到觸摸移動的方向。是否有任何方法可以找到這個.. 。提前感謝碰擊方向在hittest

回答

-1

您可以嘗試子類UIWebView並覆蓋touchesBegantouchesMoved等方法。

+0

-1,文檔明確指出,UIWebView類不應該被分類,對不起: – slf 2009-10-05 13:14:44

+0

你是對的,對不起,我應該在打字前查找。 – MrMage 2009-10-05 16:24:33

1

我不確定「used hittest delegate」是什麼意思,但我認爲你需要做的是趕上像@MrMage所說的那樣的觸動。但是,你不應該需要子類UIWebView來做到這一點。

UIResponder公開以下:

– touchesBegan:withEvent: 
– touchesMoved:withEvent: 
– touchesEnded:withEvent: 
– touchesCancelled:withEvent: 

你應該能夠有自己的UIView子類,因爲你的UIWebView在界面生成器的上海華。聽取這些事件,並確認它們提出給你,這聽起來像你熟悉Interface Builder,所以我不會進入。

「找到觸摸移動的方向」有點模糊。我猜你想要檢測滑動是否從起點到終點「向上」或「向下」或「向左」或「向右」移動。您可以通過比較touchesBegan觸摸和touchesEnded觸摸座標的觸摸來輕鬆完成此操作。

像這樣的東西應該工作:

if ((endTouch.x - startTouch.x) > 0) { NSLog(@"swipe right"); } 
else if ((endTouch.x - startTouch.x) < 0) { NSLog(@"swipe left"); } 

記住,對於任何給定觸摸,UITouch實例被創建,並且內存地址不會改變。通過這種方式,您可以安全地比較UITouch的地址,以確保您跟蹤的是同一個地址,這在有多個觸摸(如您在觸摸事件中獲得的NSSet)時非常有用。 Event Handling Guide是一個很好的資源。