gpt4 book ai didi

swift - 更新 NSSplitViewController 中的第二个 View Controller

转载 作者:可可西里 更新时间:2023-11-01 00:01:18 26 4
gpt4 key购买 nike

我有一个 NSSplitViewController,其中 first viewcontroller 显示一个表,second viewcontroller 应该根据选择表行。

enter image description here

我正在使用 tableViewSelectionDidChange() 获取选定的行。

现在我有一堆 View Controller ( Storyboard ID 作为行号给出)我应该添加和删除到 NSSplitViewController 中的 second viewcontroller

我该怎么做?

最佳答案

您走在正确的道路上。在 tableViewSelectionDidChange() 中,您需要使用 NSStoryboardinstantiateController(withIdentifier: String) 方法从 Storyboard中实例化一个新的 viewController。然后您可以将其设置为您的 splitViews 第二个 View Controller 。

然后您需要创建一个splitViewItem。您可以使用 init 方法,它为此接受一个 viewController (NSSplitViewItem(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

关于swift - 更新 NSSplitViewController 中的第二个 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42896102/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com