I am trying to mimick the behaviour of apps like Notes and Contacts, where when I resize the window the left split view item collapses. I can't recreate this behaviour when using a Storyboard.
If I create the NSSplitViewController in code this works fine, however if I do it via a Storyboard it doesn't work.
import Cocoa
class MainWindowController: NSWindowController {
override var windowNibName: NSNib.Name? {
return "MainWindowController"
}
override func windowDidLoad() {
super.windowDidLoad()
// let splitViewController = NSSplitViewController()
let splitViewController = NSStoryboard(name: "Storyboard", bundle: nil).instantiateInitialController() as! NSSplitViewController
let sidebarSplitViewItem = NSSplitViewItem(sidebarWithViewController: SidebarViewController())
splitViewController.addSplitViewItem(sidebarSplitViewItem)
let contentSplitViewItem = NSSplitViewItem(viewController: ContentViewController())
splitViewController.addSplitViewItem(contentSplitViewItem)
contentViewController = splitViewController
}
}
I can't tell if this is a bug or if there is a property I'm missing on NSSplitViewController when it comes from a Storyboard to get the collapse behaviour to work.
Code:
Storyboard:
(Answering my own question)
I received feedback from Apple about the Radar I filed for this. I can confirm the issue has now been fixed as of macOS Catalina beta 5.