gpt4 book ai didi

objective-c - NSOutlineView 放到子行上不起作用

转载 作者:行者123 更新时间:2023-12-03 17:48:46 24 4
gpt4 key购买 nike

我有一个 NSOutlineView 显示项目列表,我想实现一种文件夹结构。一个文件夹可以包含任意数量的项目。

当用户创建空白文件夹时,我想创建一个小放置区域,以便更明显地了解如何获取文件夹内的项目。放置区域是文件夹的子项目。与此类似:

basic structure

问题是,当用户将项目拖到其上时,我无法让 NSOutlineView 突出显示放置区域。

这是我到目前为止所拥有的:

- (NSDragOperation)outlineView:(NSOutlineView *)outlineView
validateDrop:(id <NSDraggingInfo>)info
proposedItem:(id)item
proposedChildIndex:(NSInteger)index
{
// Drag within the outlineview
if ([info draggingSource] == outlineView)
{
if (self.itemBeingDragged)
{

if ([item isKindOfClass:[MyFolder class]] ||
[item isKindOfClass:[MyDropArea class]])
{
return NSDragOperationMove;
}
... other statements (irrelevant here) ...
}
}
}

这还不够吗?我确实收到了拖拉的反馈。它是放置区域上方或下方的一条蓝线,但这对我没有帮助。

有人有想法吗?

最佳答案

苹果的DragAndDropOutlineView示例项目应该可以让您了解导致问题的原因:

enter image description here

请注意,其中两个复选框允许您精确切换此行为。查看源代码,看看您是否可以找出他们在做什么而您没有做什么。我快速浏览了一下,但由于对您的代码没有更多了解,我无法得出答案(所以我并没有真正将其作为答案发布,更多的是带有图片的评论!)。

关于objective-c - NSOutlineView 放到子行上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35315571/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com