Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 在macOS窗口中制作Inspector边栏_Swift_Xcode_Macos_Nssplitview_Nstabview - Fatal编程技术网

Swift 在macOS窗口中制作Inspector边栏

Swift 在macOS窗口中制作Inspector边栏,swift,xcode,macos,nssplitview,nstabview,Swift,Xcode,Macos,Nssplitview,Nstabview,我想在macOS窗口中制作一个“inspector侧边栏”。您知道Xcode中的检查器: 侧边栏的内容应该是上下文相关的。根据用户在主窗口中的选择,应该有不同的对话框 我必须使用哪些技术来获得这种行为 我的尝试是(在故事板中): 在窗口中插入拆分视图 将选项卡视图控制器插入拆分视图的右侧自定义视图中 但这不起作用:我可以轻松地将分割视图插入窗口。我可以很容易地在故事板上插入一个选项卡视图控制器。但我无法将选项卡视图控制器插入拆分视图的右视图 那么,我如何实现期望的行为呢?最后我解决了这个问题。

我想在macOS窗口中制作一个“inspector侧边栏”。您知道Xcode中的检查器:

侧边栏的内容应该是上下文相关的。根据用户在主窗口中的选择,应该有不同的对话框

我必须使用哪些技术来获得这种行为

我的尝试是(在故事板中):

  • 在窗口中插入拆分视图
  • 将选项卡视图控制器插入拆分视图的右侧自定义视图中
  • 但这不起作用:我可以轻松地将分割视图插入窗口。我可以很容易地在故事板上插入一个选项卡视图控制器。但我无法将选项卡视图控制器插入拆分视图的右视图


    那么,我如何实现期望的行为呢?

    最后我解决了这个问题。我必须在每个选项卡的CustomView中添加一个CustomView。这样,Xcode自动添加了ViewController。以下是各个步骤:

    首先,我必须在情节提要中插入一个拆分视图。这里还没有什么问题

    其次,我在一个自定义视图中添加了一个选项卡视图(样式:tables):

    第三,我需要将ContainerView添加到每个选项卡:

    通过这种方式,Xcode为每个选项卡的ContainerViews添加了ViewController:

    否我可以通过编程方式选择不同的选项卡:

    @IBAction func showInspector1(_ sender: NSButton) {
        self.tabView.selectTabViewItem(at: 0)
    }
    @IBAction func showInspector2(_ sender: NSButton) {
        self.tabView.selectTabViewItem(at: 1)
    }
    

    我要感谢这些评论,它们帮助我取得了进展并解决了这个问题。

    在Split guy中插入TabView控件,而不是视图控制器。@ElTomato,当我使用TabView控件时,如何为不同的对话框设置视图控制器?您称之为“不同对话框”的是什么?@ElTomato,我不知道确切的术语。例如,在一个Xcode情节提要中:当我选择一个SplitView时,我在inspector中会得到一个特殊的“对话框”,在这里我可以自定义SplitView(参见上图)。当我选择另一个对象时,我会得到一个不同的“对话框”。同样,我希望侧边栏中有不同的“对话框”,每个对话框都有不同的控件。您是如何将拆分视图控制器插入窗口的?