我正在尝试在我的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{
没有人被调用...我的笔尖设置正确...我的大纲视图已经填满,所有功能都在工作,除了拖放功能...
非常感谢任何形式的帮助!
答案 0 :(得分:3)
刚刚修好我放了
[[self currentOutlineView] registerForDraggedTypes:[NSArray arrayWithObjects:(NSString*)kUTTypeFileURL,kPrivateDragUTI,nil]];
到了错误的位置,所以我的大纲视图无法正确注册可拖动的类型。我把它放到了
-(void) awakeFromNib
在我的大纲视图控制器中,现在一切正常! :)