我有一個UIWebView
。我正在嘗試執行ios11
拖放功能。當我從Safari拖動項目並將其放入我的UIWebView
中時,我想知道將調用哪個委託方法。有什麼建議麼?如何在iOS 11中檢測UIWebview放置?
回答
UIDragInteractionDelegate & UIDropInteractionDelegate協議是你正在尋找的。
檢查了這一點還有:How to Drop Images in UIViewController with UIDropInteraction (Ep 1)
這是一個用於正常UIView拖放的操作。 –
大多數的UIWebView的功能被稱爲UIWebBrowserView無證類實現。它的'交互'屬性集和這些交互的委託的視圖被設置爲同一個UIWebBrowserView。
根據您的需求,有3個選項來檢測降:
1)你可以使用JavaScript的Web視圖的內容來檢測的下降。這看起來像這樣:
document.addEventListener('drop', function() {
// Drop detected
}) ;
2)您可以禁用UIWebBrowserView中的拖放交互。這將允許他們傳播到其中一個包含視圖,並且您可以在其中添加自己的交互。這將是這樣的:
webView.scrollView.subviews[0].interactions = @[] ;
一旦你做到了這一點,在你可以創建自己的互動,並將它們添加到容器中的觀點:
UIDropInteraction *dropInteration = [[UIDropInteraction alloc]initWithDelegate:myController] ;
[webView addInteraction:dropInteration] ;
webView.userInteractionEnabled = YES ;
你會然後實現在UIDropInteractionDelegate功能「 myController'
3)你可以改變UIWebBrowserView並用你自己的替換UIDropInteractionDelegate方法。
我不認爲2和3會工作。我正在嘗試第一個選項。我如何才能在js中獲取丟棄的文本或圖像? –
事實上,我能夠同時獲得'2'和'3'的工作,但是我無法獲得'1'的工作,因爲我碰到了和你一樣的絆腳石。我無法確定被丟棄的對象。 我的javascript技能是有限的,但我懷疑可以使用javascript獲取有關放置對象的信息。我只是不知道該怎麼做。 就我而言,我決定'2',因爲它是一行來禁用drop的默認行爲。我甚至可以通過檢查現有交互的類並僅刪除dropInteraction來保留默認的拖動交互。 –
是的,我正在嘗試你建議的第二個選項。我也正在獲取執行下降的數據。拖動UIWebView時是否可以移動光標?你做完了嗎?。還有,你如何爲被丟棄的內容製作動畫? –
- 1. 如何在iOS中檢測UIWebView中音頻的播放狀態?
- 2. 如何檢測UIWebView的縮放比例
- 3. 在UIWebview(iOS)中檢測返回按鈕
- 4. 在UIWebView中檢測縮放比例
- 5. 檢測的iOS設備11
- 6. JS - 檢測UIwebView
- 7. IOS如何避免UIWebview媒體播放器在UIWebview中彈出
- 8. 如何在UIAlertView中放置一個UIWebView?
- 9. 在UIWebView中檢測下載
- 10. 在UIWebView中檢測雙擊
- 11. 如何在iOS 11中將導航欄設置爲透明11
- 12. iOS UIWebView檢測混合SSL內容
- 13. 錯誤放置11
- 14. 如何在UIWebView上檢測觸摸
- 15. 如何檢測UIWebView中的重定向
- 16. 視覺框架條碼檢測iOS 11
- 17. iOS 11拖放UIDocument
- 18. UIWebView DatePicker輸入檢測
- 19. 如何檢測用戶何時將手指放在UIWebView中的圖像上?
- 20. 如何檢測UIWebView內的YouTube視頻播放按鈕觸摸?
- 21. WebPage可以檢測它在IOS UIWebView中打開的時間嗎?
- 22. 如何檢測另一個應用是否在iOS 11中滑動運行?
- 23. 如何在ios的UIWebview中播放wmv文件
- 24. 檢測縮放iOS上的縮放
- 25. 如何檢測UIWebView何時在Swift中完全加載完成
- 26. 在XCode中檢測UIWebView表單提交
- 27. 在UIWebView中檢測文本hilight
- 28. 在UIWebView中檢測ontouchend或onClick事件
- 29. 如何從iOS應用iOS 11測試版打開位置服務?
- 30. 如何在iOS 11中使用NEDNSProxyProvider
我認爲,在移動設備中 - 1. Safari可能不允許拖動操作 - 2.拖動操作無法相互切換兩個應用程序。請分享你曾經使用過移動設備的網頁瀏覽器看過這個操作的任何參考文獻 – Krunal
我正在嘗試iPad Pro @Krunal –