2012-03-16 22 views
1

我想在web視圖上顯示popover視圖。彈出窗口應顯示在webview中選擇任何UI元素。我能夠在Javascript代碼中捕獲觸摸事件。任何人都可以幫助我..是否有可能從Javascript發佈通知事件..?有沒有其他的方式來實現這個..? 謝謝。Javascript和objective c

+0

[iOS版的JavaScript橋(HTTP的可能重複://計算器。 com/questions/9473582/ios-javascript-bridge) – Caleb 2012-03-16 14:16:13

回答

2

這正是PhoneGap所做的。其背後的想法是,爲了響應這種聯繫,您的JavaScript會加載一個特定的URL,可能會使用自定義方案。 Web視圖委託的-webView:shouldStartLoadWithRequest:navigationType:方法在Web視圖實際發出請求之前調用。如果該方法的實現可以識別該URL,則可以採取任何喜歡的操作,例如顯示彈出窗口視圖。

+0

但我不想使用任何第三方工具,如phonegap或sencha或任何其他。感謝您的建議。我會試試看。我從你的答案中瞭解到,我只需要加載一個url並在webview代理中捕獲該URL。 – 2012-03-16 05:14:25

+0

我並不是建議你使用PhoneGap - 我只是解釋了讓PhoneGap工作的想法。你可以在你的代碼中做同樣的事情。如果您想要將Web視圖中的JavaScript消息發送到您的Objective-C代碼,請按照我的描述進行操作。 – Caleb 2012-03-16 05:22:12

+1

非常感謝... !! :) – 2012-03-16 06:12:04

2

您可以通過objective-c方法輕鬆地調用腳本(在沙箱中)。泰華網頁工具包具有用於評估腳本代碼
[webview stringByEvaluatingJavaScriptFromString:@"myJavascriptFunction()"];
檢查這個教程來學習深入挖掘Tutorial-1Tutorial-2方法..希望這可以幫助你......

+0

+1好點 - 這就是你如何從你的Objective-C代碼調用JavaScript的東西。 – Caleb 2012-03-16 14:11:23