ウィンドウのサイズを変更すると、左側の分割ビュー項目が折りたたまれるメモや連絡先などのアプリの動作を模倣しようとしています。ストーリーボードを使用している場合、この動作を再現できません。
コードで NSSplitViewController を作成すると、これは正常に機能しますが、ストーリーボードを介して作成すると機能しません。
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
}
}
これがバグなのか、Storyboard から折りたたみ動作を機能させるために NSSplitViewController に欠けているプロパティがあるのか はわかりません。
コード:
ストーリーボード: