2013-12-16 58 views
0

我希望你能幫助我,並首先對我的英語不好。 我想在iOS的uiwebview中點擊指定點(x/y)。我曾嘗試一些與向uiwebview發送touchesbegan事件

(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { }

(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { [webview touchesBegan:touches withEvent:event]; }

但我還沒有工作。 uiwebview是uiview的子視圖,我想。

你能幫我嗎?

來自德國的問候。

回答

0

只需調用javascript函數如下:

[myWebView stringByEvaluatingJavaScriptFromString:"/*JS Code goes here*/"]; 

,而不是/*JS Code goes here*/ 類型的Java腳本代碼,做你想做的事通過燒成可以按一下X,你想y位置。我假設你可以控制網頁內容,如果不是評論,我會添加更復雜的解決方案。

如果你想調用是包含您的網頁內容中的iframe中定義的函數,你需要定義兩個功能:顯示爲源的iframe的iframe頁面內

1- JS功能標籤名稱此功能iFrameFunc()在父HTML頁面名稱

2- JS功能它parentFunc()

3- parentFunc應該得到處理由ID或類選擇的iframe並調用iframeFunc()

4-對象 - 將調用[UIWebView的stringByEvaluatingJavaScriptFromString]將parentFunc

+0

對不起,沒有意見,因爲位置是在iframe中,我不能改變這些。 但是,謝謝! – user3108818

+0

您是否試圖將重點放在某個元素上? –

+0

你是什麼意思?通過js? – user3108818

0

我子類UIWebView,公正「內吸取」到了手勢識別的子視圖兩層深(你可以去遞歸但那是不夠iOS6-7) 。然後,您可以根據觸摸位置和手勢識別器的狀態執行任何操作。

for (UIView* view in self.subviews) { 
    for (UIGestureRecognizer* recognizer in view.gestureRecognizers) { 
     [recognizer addTarget:self action:@selector(touchEvent:)]; 
    } 
    for (UIView* sview in view.subviews) { 
     for (UIGestureRecognizer* recognizer in sview.gestureRecognizers) { 
      [recognizer addTarget:self action:@selector(touchEvent:)]; 
     } 
    } 
}