我正在開發像Mac Mail一樣的應用程序。我有一個WebView,允許用戶寫一條新消息。我實現了拖放功能,以便用戶可以以這種方式向消息中添加附件。禁用WebView的拖放操作以支持其某個超級瀏覽
爲了簡單起見,我有一個包含WebView和其他視圖的主視圖。我在這個主視圖上實現了拖放操作(使用draggingEntered和performDragOperation:方法),並且按預期工作。
問題是,默認情況下,當在WebView中拖動文件時,例如圖像時,圖像將顯示在WebView中。但我不希望這樣,我希望它被作爲附件添加,這就是爲什麼我禁用了的WebView內拖放:
def webView(sender, dragDestinationActionMaskForDraggingInfo:draggingInfo)
WebDragDestinationActionNone
end
但現在,如果我拖我的文件將作爲附件添加它在主視圖內的任何地方,除了在WebView中(draggingEntered:和performDragOperation:方法在這種情況下不會被調用)。
我不知道我的問題是否足夠清楚地找到答案,我在Cocoa開發中仍然是新手,所以如果您需要更多的細節,請不要猶豫,告訴我。另一件事,我正在使用Rubymotion,但如果你在Objective-C中有一個解決方案,那也是完美的!
感謝您的任何幫助或建議。
解決方案
我子類中的WebView,並推翻了performDragOperation
方法,使其工作:
def performDragOperation(sender)
self.UIDelegate.mainView.performDragOperation(sender)
end
感謝您的回答,我沒有使用draggingDestinationWindow方法,但能夠通過繼承webview並覆蓋performDragOperation方法來解決問題,並得到了其他答案的幫助:http://stackoverflow.com/questions/ 12742276 /拖和滴從取景器對網頁視圖。但是你讓我走對了,所以我會接受你的回答。 – siekfried