gpt4 book ai didi

xcode - 折叠 NSOutlineView Group 后如何保持选中行状态

转载 作者:可可西里 更新时间:2023-11-01 00:16:35 29 4
gpt4 key购买 nike

我想实现一个类似于 Finder.app 的边栏。但是我不知道如何让它在折叠和展开组后保持行选择状态。

任何想法或建议将不胜感激。

最佳答案

您必须自己实现。系统不为您保留选择的原因是当一个项目被折叠时,它的所有子项目实际上都被释放,所以它们根本不存在。

解决方案非常简单直接。

  1. 设置大纲 View 以允许空选择(在 IB 中或通过代码)。这将防止系统在先前选择的项目折叠后自动选择另一个项目。
  2. 将所选项目保存在 ivar 中,并更新它以响应用户交互。为此,您可能需要实现 -outlineViewSelectionDidChange: 委托(delegate)方法。请注意,您应该始终确保 [[notification object] selectedRow] != -1 在更新之前得到满足,因为折叠所选项目将导致此消息与 selectedRow-1
  3. -outlineViewItemDidExpand 委托(delegate)方法中,如果 outlineView.selectedRow-1,请查阅您的 ivar 并通过向您的 NSOutlineView 发送 -selectRowIndexes:byExtendingSelection: 消息手动恢复选择。

关于xcode - 折叠 NSOutlineView Group 后如何保持选中行状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30160586/

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