好的,这就是我需要的(尽管我仍然没有找到我的问题的真正答案):
- 我有一个简单明了的
WebView
- 我需要能够在上面放置物品
WebView
。
我已经尝试通过 theWebUIDelegate
及其方法,甚至registerForDraggedTypes
,但仍然没有成功。
有任何想法吗?有没有一个完整的例子来说明如何实现这一点?
好的,这就是我需要的(尽管我仍然没有找到我的问题的真正答案):
WebView
WebView
。我已经尝试通过 theWebUIDelegate
及其方法,甚至registerForDraggedTypes
,但仍然没有成功。
有任何想法吗?有没有一个完整的例子来说明如何实现这一点?
我在我的应用程序中做到了,以下是重点,如果你还在寻找它,
让它接受放入 webview
[self registerForDraggedTypes:
[NSArray arrayWithObjects:MyPrivateTableViewDataType,NSFilenamesPboardType,nil]];
输入处理拖动以验证/验证正在拖动的项目。
- (NSDragOperation)draggingEntered:(id <NSDraggingInfo>)sender{
pboard = [sender draggingPasteboard];
if ( [[pboard types] containsObject:MyPrivateTableViewDataType] ) {
if (sourceDragMask & NSDragOperationGeneric) {
return NSDragOperationGeneric;
}
}
}
- (BOOL)prepareForDragOperation:(id < NSDraggingInfo >)sender{
NSPasteboard *pboard;
pboard = [sender draggingPasteboard];
if ( [[pboard types] containsObject:MyPrivateTableViewDataType] ) {
// Only a copy operation allowed so just copy the data
return YES;
}
else if ( [[pboard types] containsObject:NSURLPboardType] ) {
return YES;
}
return NO;
}
最后执行/完成拖放
- (BOOL)performDragOperation:(id < NSDraggingInfo >)sender{
NSPasteboard *pboard;
pboard = [sender draggingPasteboard];
if ( [[pboard types] containsObject:MyPrivateTableViewDataType] ) {
// Only a copy operation allowed so just copy the data
return YES;
}
else{
return NO;
}
} else if ( [[pboard types] containsObject:NSURLPboardType] ) {
NSURL *url = [NSURL URLFromPasteboard: pboard];
NSString *filePath= [url path];
return YES;
}
return NO;
}