unk*_*use 2 macos cocoa swift nssplitviewcontroller
我有NSSplitViewController这first viewcontroller显示一个表,并second viewcontroller应基于表行的选择viewcontrollers清单显示视图-控制.
我正在使用tableViewSelectionDidChange()获取所选行.
现在,我有一堆viewcontrollers的(故事板ID给出的行号),我应该添加和删除,以second viewcontroller在NSSplitViewController
我怎样才能做到这一点?
你是在正确的道路上.在tableViewSelectionDidChange()你需要使用从您的故事板实例化一个新的viewController NSStoryboard小号instantiateController(withIdentifier: String)方法.然后,您可以将其设置为splitViews第二个视图控制器.
然后你需要创建一个splitViewItem.您可以使用带有viewController的init方法(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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1271 次 |
| 最近记录: |