Dans ma demande j'ai une liste ayant NSOutlineView de somefiles et un WebView,
utilisateur permet de faire glisser un élément de la vue Plan à WebView, et là-dessus, je suis supposé gérer la transaction de base de données,Cocoa WebView glisser-déplacer
Dans la vue Plan, i ont mis en œuvre des méthodes suivantes,
- (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{
}
du côté WebView, j'ai mis en œuvre suivant, les méthodes,
- (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{
}
Maintenant, quand je fais glisser un élément de la vue du contour de WebView, je pouvais voir, writeItem de vue Outline est obtenir appelé,
et dans WebView, DragEnter devient appelé d'où, je suis ne pas retourner opération de glisser NONE, mais le retour NSDragoperationEvery,
Le problème est que, je ne suis pas la méthode obtenais, prepareForDragOperation et PerformDragOperation,
quelqu'un peut-il me aider s'il vous plaît,
Cordialement
Rohan