你走在正确的道路上。在tableViewSelectionDidChange()
你需要使用NSStoryboard
sinstantiateController(withIdentifier: String)
方法从你的故事板中实例化一个新的 viewController。然后您可以将其设置为您的 splitViews 第二个视图控制器。
然后你需要创建一个splitViewItem
. 您可以使用 init 方法,该方法为此 ( NSSplitViewItem(viewController:)
) 使用 viewController。
最后,您有两种可能添加新的 viewController。要么使用add/removeSplitViewItem
方法,要么直接设置splitViewItems
数组。
我在代码中的话:
guard let splitViewController = self.parent as? NSSplitViewController,
let viewController = self.storyboard?.instantiateController(withIdentifier: "yourIdentifier") as? NSViewController
else { return }
let item = NSSplitViewItem(viewController: viewController)
// Method one
splitViewController.removeSplitViewItem(splitViewController.splitViewItems[1])
splitViewController.addSplitViewItem(item)
// OR method two
var items = splitViewController.splitViewItems
items[1] = item
splitViewController.splitViewItems = items