2011-04-08 2 views
1


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

Répondre

2

Salut les gars
Merci pour la recherche sur elle, Il a obtenu résolu en remplaçant

- (NSDragOperation)draggingUpdated:(id <NSDraggingInfo>)sender{ 
    [self log:@"Inside Dragging updated"]; 
    return NSDragOperationEvery; 
} 

Bien que dans le document, il a été mentionné comme une option et si son pas mis en œuvre, il prendra les valeurs de retour de DragEnter Method,

peut-être pour Mon propre type de données, il aurait obtenu la forme WebView méthode et fonctionnant une fois je l'écraser.
Kind Regard Rohan

Questions connexes