如何在启动时调用 NSSplitView splitView:shouldHideDividerAtIndex:to?

How to get NSSplitView splitView:shouldHideDividerAtIndex:to be called at startup?

我已经实现了我的委托方法以在折叠视图时隐藏分隔线,效果很好。问题出在启动时,如果视图折叠,自动保存会使其保持折叠状态,但不会询问我是否要隐藏分隔线,因此它们默认显示并且看起来很讨厌。

如何强制调用此委托方法,如果没有正确的方法,我有什么选择,伪造 window 调整大小?

我唯一的解决办法是:

windowSplitView.subviews[0].hidden = !windowSplitView.subviews[0].hidden
windowSplitView.subviews[0].hidden = !windowSplitView.subviews[0].hidden

解决方案是在隐藏标题时对 window 每次启动时大小增加的问题使用相同的修复程序:https://openradar.appspot.com/18510665

您必须从 Interface Builder (IB) 中删除自动保存名称,并在 window 加载并设置框架后以编程方式执行此操作:

override func windowDidLoad() {
    super.windowDidLoad()
    //...
    splitView.autosaveName = "YourAutosaveName"
    //...
}