2013-05-29 23 views
2

我想允許用戶截取他在UIWebView中選擇的特定區域。爲了實現這一點,我想要做的是啓用縮放和拖動,但避免其他用戶交互。例如,我沒有找到任何他們點擊的鏈接,但我沒有找到一種方法來控制javascripts調用,例如當他們點擊smth或鍵盤顯示時。ios - 啓用滾動和放大UIWebView,但禁用其他用戶交互

任何想法? 謝謝!

回答

0

Psiticosis答案是實現這一目標的更簡單的方法,但將「透明視圖」添加到文檔主體中更容易。

只需execute a script on your WebView即可在文檔正文上添加疊加層。 腳本可以是這樣的:

//CSS setup 
var styletag = document.createElement("style"); 
styletag.type = "text/css"; 
styletag.innerHTML = '#naughty-overlay {position:fixed; height:100%; z-index:9999;}'; 
styletag.innerHTML += '* {-webkit-user-select:none;}'; 

//Create the overlay div 
var overlay = document.createElement('div'); 
overlay.id = 'naughty-overlay'; 

//Append elements 
document.body.appendChild(styletag); 
document.body.appendChild(overlay); 
+0

完美的解決方案!只需要添加這個css屬性:「pointer-events:none;」。謝謝! – user2432818

0

你可以在UIWebView上放一個透明的視圖,只允許縮放和滾動手勢落入UIWebView。這是首先想到的。

+0

好的。 Im檢測覆蓋視圖中的觸摸。我嘗試在UIWebView中調用TouchesBegan,但它不起作用。 – user2432818

+0

在[這個線程](http://stackoverflow.com/questions/9209998/forwarding-uigesture-to-views-behind)中選擇的答案應該是有幫助的。如果它沒有把事情搞清楚,讓我知道。 – Psiticosis

相關問題