Я пытаюсь имитировать поведение таких приложений, как «Заметки» и «Контакты», где при изменении размера окна рушится левый элемент разделенного представления. Я не могу воссоздать это поведение при использовании раскадровки.
Если я создаю 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
}
}
Я не могу сказать, является ли это ошибкой или есть свойство, которое мне не хватает в NSSplitViewController, когда оно исходит из раскадровки, чтобы заставить работать поведение коллапса.
Код:
Раскадровка: