如何在启动时调用 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"
//...
}
我已经实现了我的委托方法以在折叠视图时隐藏分隔线,效果很好。问题出在启动时,如果视图折叠,自动保存会使其保持折叠状态,但不会询问我是否要隐藏分隔线,因此它们默认显示并且看起来很讨厌。
如何强制调用此委托方法,如果没有正确的方法,我有什么选择,伪造 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"
//...
}