swift - 如何获取NSSplitView splitView :shouldHideDividerAtIndex:to be called at startup?

标签 swift cocoa nssplitview

我已经实现了委托(delegate)方法来在 View 折叠时隐藏分隔线,效果很好。问题是在启动时,如果 View 折叠起来,自动保存会使其保持折叠状态,但不会询问我是否要隐藏分隔线,因此它们默认显示,看起来很糟糕。

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

我唯一的解决方案是:

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

最佳答案

解决方案是对隐藏标题时每次启动时窗口尺寸不断增大的问题使用相同的修复方法:https://openradar.appspot.com/18510665

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

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

关于swift - 如何获取NSSplitView splitView :shouldHideDividerAtIndex:to be called at startup?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35158945/

相关文章:

ios - 如何向 UIView 添加大小调整 handle ?

macos - 相同文件扩展名的重叠 UTI 声明

xcode - Cocoapods错误: linker command failed with exit code 1 (use -v to see invocation)

macos - NSSplitViewController subview 未添加

ios - 委托(delegate)不会执行功能

ios - NSUserDefaults 保存。编码问题

Swift 3 图表条形图无

cocoa - AVPlayer 无缝播放和搜索多个视频文件

swift - 在 NSSplitViewController 中更改 View

cocoa - 如何更改 Nib 上 NSSplitView 分隔线的颜色?