NSOutlineView的拖放方法没有被调用

时间:2013-12-17 19:44:54

标签: objective-c macos cocoa drag-and-drop nsoutlineview

我正在尝试在我的OSX应用中为NSOutlineView启用拖放功能。我唯一能够放弃的是来自Finder的png图像。

我有myOutlineView和一个控制器,它是一个数据源和我的大纲视图的委托。

在我的大纲视图控制器中,我有以下三种方法:

-(BOOL)outlineView:(NSOutlineView *)outlineView writeItems:(NSArray *)items toPasteboard:(NSPasteboard *)pboard

 -(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{

没有人被调用...我的笔尖设置正确...我的大纲视图已经填满,所有功能都在工作,除了拖放功能...

非常感谢任何形式的帮助!

1 个答案:

答案 0 :(得分:3)

刚刚修好我放了

[[self currentOutlineView] registerForDraggedTypes:[NSArray arrayWithObjects:(NSString*)kUTTypeFileURL,kPrivateDragUTI,nil]];

到了错误的位置,所以我的大纲视图无法正确注册可拖动的类型。我把它放到了

-(void) awakeFromNib 

在我的大纲视图控制器中,现在一切正常! :)