gpt4 book ai didi

objective-c - 如何在不指定行位置的情况下拖放到 NSOutlineView 中?

转载 作者:搜寻专家 更新时间:2023-10-30 20:05:26 25 4
gpt4 key购买 nike

我是 Cocoa 的新手,我正在开发一个可以在 NSOutlineView 中拖放的应用程序。

我已经实现了“outlineView:validateDrop:proposedItem:proposedChildIndex”和“outlineView:acceptDrop:item:childIndex:”方法来制作一个NSOutlineView 放置的目的地。它工作正常,除了它尝试指定一个行/位置,来自不同 NSOutlineView 的项目应该被删除。

我的应用程序真的不需要指定项目应该放在哪一行或上面;理想情况下,当我拖放到 NSOutlineView 上时,我希望突出显示整个 NSOutlineView 框。行选择将以编程方式完成。

我怎样才能做到这一点?

最佳答案

您将要使用 NSOutlineViewsetDropItem:dropChildIndex:以编程方式设置要插入的索引。

要突出显示整个大纲 View ,您可能想尝试 NSTableViewsetDropRow:dropOperation:将 dropRow 设置为 -1,文档说:

Passing a value of –1 for row, and NSTableViewDropOn as the operation causes the entire table view to be highlighted rather than a specific row. This is useful if the data displayed by the receiver does not allow the user to drop items at a specific row location.

NSOutlineView 继承自 NSTableView,因此如果 NSOutlineView 子类没有搞砸 NSTableView 的突出显示行为,这可能会起作用。

关于objective-c - 如何在不指定行位置的情况下拖放到 NSOutlineView 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23637875/

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