gpt4 book ai didi

cocoa - 永久隐藏 NSTableView/NSOutlineView 中的行

转载 作者:行者123 更新时间:2023-12-03 17:18:36 26 4
gpt4 key购买 nike

我的 NSOutlineView 中有一些行我想永久隐藏(出于与我的数据结构有关的原因)。

在 10.13 中,使用自动行高和自动布局,我无法查看某些数据行,因此它们对用户隐藏。

现在我的应用程序在 10.11 上可用,因此我必须手动计算行高。 NSOutlineViewDelegate 函数“heightOfRowByItem”坚持非零行高,因此我不能再以相同的方式完全隐藏行。

NSTableView 'hideRows' 方法似乎是一种替代方法。它可以隐藏特定行而不隐藏其子行(在我的情况下是完美的)。唯一的问题是,当我拖动行时,所有内容似乎都“取消隐藏”。

有谁知道:- 如何停止拖动时取消隐藏行(我看不到任何文档)- 在 NSTableView/NSOutlineView 中拥有不可见行的其他一些方法。

谢谢

最佳答案

创建一个新类作为我们的 NSOutlineView 项,并更新这些项以反射(reflect)底层模型的状态。这可能看起来需要更多工作,但它比尝试在 NSOutlineViewDataSource/Delegate 方法中变得聪明要令人愉快得多。对我来说,当我尝试使用现有模型来驱动 NSOutlineView 时,使用 NSOutlineView 是最困难的,而当我创建一个类作为项目时,使用 NSOutlineView 是最简单的。

这还有一个优点,即不会因仅与大纲 View 表示相关的功能和状态而使模型变得困惑。

关于cocoa - 永久隐藏 NSTableView/NSOutlineView 中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54222695/

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