【发布时间】:2011-04-08 08:28:40
【问题描述】:
在我的应用程序中,我有一个 NSOutlineView,其中包含一些文件列表和一个 WebView,
用户允许将任何项目从大纲视图拖到 WebView,然后,我想处理数据库事务,
在大纲视图中,我实现了以下方法,
- (BOOL)outlineView:(NSOutlineView *)outlineView writeItems:(NSArray *)items toPasteboard:(NSPasteboard *)pboard{
[self log:@"write Items”];
// Some other code to prepare the Write Item,
}
- (NSDragOperation)outlineView:(NSOutlineView *)outlineView validateDrop:(id < NSDraggingInfo >)info proposedItem:(id)item proposedChildIndex:(NSInteger)index{
}
- (BOOL)outlineView:(NSOutlineView *)outlineView acceptDrop:(id < NSDraggingInfo >)info item:(id)item childIndex:(NSInteger)index{
}
在 WebView 方面,我实现了以下方法,
- (NSDragOperation)draggingEntered:(id <NSDraggingInfo>)sender {
NSPasteboard *pboard;
NSDragOperation sourceDragMask;
[self log:@"Inside draggingEntered”];
return NSDragOperationEvery;
}
- (BOOL)prepareForDragOperation:(id < NSDraggingInfo >)sender{
}
- (BOOL)performDragOperation:(id < NSDraggingInfo >)sender{
}
现在,当我将一个元素从大纲视图拖到 WebView 时,我可以看到,大纲视图的 writeItem 被调用,
在 Webview 中,从哪里调用 DragEnter,我 不返回拖动操作 NONE,但返回 NSDragoperationEvery,
问题是,我没有得到方法,prepareForDragOperation 和 PerformDragOperation,
谁能帮帮我,
亲切的问候
罗汉
【问题讨论】:
标签: objective-c cocoa webview nsoutlineview nsdragginginfo