第一次扩展父项时,NSOutlineView会在瞬间失去孩子的订单

时间:2017-02-26 15:48:09

标签: macos cocoa appkit nsoutlineview

我有NSOutlineView(源列表样式)绑定到NSTreeController,其内容数组绑定到自定义对象数组。 selectionIndexPathssortDescriptorsarrangedObjects也都受到约束。

当(1)父项下有7个或更多子项时,(2)应用程序启动后父项折叠后,(3)第一次扩展父项后,将有一个儿童的命令被逆转的非常简短的“闪光”时刻。这很快,我不得不对其进行屏幕录制以查看发生了什么。

似乎每次都不会发生这种情况,但我现在并没有完全相信我的“视觉系统”(眼睛,大脑等)。

我在源列表中创建了一个包含100个项目的非常简单的示例,但它没有重现该问题。真正的应用程序是一个工作项目,所以我不能分享真正的代码。

我确实找到了消除闪存的解决方案:在treeController中调用rearrangeObjects()的{​​{1}}。但这引入了另一个问题:侧边栏的扩展动画将比平时更快。

有什么建议吗?

0 个答案:

没有答案