objective-c – 虽然我已经实现了委托方法,但是没有为NSOutlineView启用拖放功能

objective-c – 虽然我已经实现了委托方法,但是没有为NSOutlineView启用拖放功能,第1张

概述我无法为NSOutlineView启用拖放功能.我已经实现了NSOutlineView Delegate的相关方法. 但似乎当我点击一个项目时,我甚至无法拖动它(我看不到动画). - (BOOL)outlineView:(NSOutlineView *)outlineView acceptDrop:(id < NSDraggingInfo >)info item:(id)item childInd 我无法为NSOutlineVIEw启用拖放功能.我已经实现了NSOutlineVIEw Delegate的相关方法.

但似乎当我点击一个项目时,我甚至无法拖动它(我看不到动画).

- (BOol)outlineVIEw:(NSOutlineVIEw *)outlineVIEw acceptDrop:(ID < NSDraggingInfo >)info item:(ID)item childindex:(NSInteger)index{    return YES;}- (NSDragOperation)outlineVIEw:(NSOutlineVIEw *)outlineVIEw valIDateDrop:(ID < NSDraggingInfo >)info proposedItem:(ID)item proposedChildindex:(NSInteger)index{    return NSDragOperationMove; //not sure about this one.}

谢谢

更新:

我正在实现forOSX> = 10.5

- (BOol)outlineVIEw:(NSOutlineVIEw *)outlineVIEw writeItems:(NSArray *)items topasteboard:(NSPasteboard *)pboard{    Nsstring *pasteBoardType = [self pasteboardTypeFortableVIEw:outlineVIEw];    [pboard declareTypes:[NSArray arrayWithObject:pasteBoardType] owner:self];    NSData *rowData = [NSKeyedArchiver archivedDataWithRootObject:items];    [pboard setData:rowData forType:pasteBoardType];        return YES;}
解决方法 要使大纲视图成为拖动源,您必须实现:

- (BOol)outlineVIEw:(NSOutlineVIEw *)outlineVIEw writeItems:(NSArray *)items topasteboard:(NSPasteboard *)pasteboard;

这应该解决你所描述的问题,但除此之外你还有很多工作要做.

总结

以上是内存溢出为你收集整理的objective-c – 虽然我已经实现了委托方法,但是没有为NSOutlineView启用拖放功能全部内容,希望文章能够帮你解决objective-c – 虽然我已经实现了委托方法,但是没有为NSOutlineView启用拖放功能所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1003584.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存