首页 > 解决方案 > 如何在 Swift 4 中为 NSTabViewController 创建自定义导航栏

问题描述

我在 Swift 4 中开发一个 osx 应用程序以显示在菜单栏中,并在单击时调用一个弹出窗口以显示许多不同的视图。

我在 Storyboard 中的结构是: NSView > Container View > Tab View

这让我可以在能够在选项卡之间切换的同时维护一个顶部菜单栏。

我隐藏了 NSTabView 中的按钮,并设法使用以下代码在加载视图之间进行更改:

import Cocoa

class TabViewController: NSTabViewController {

@IBOutlet weak var theFirstTab: NSTabViewItem!

override func viewDidLoad() {
    super.viewDidLoad()
    changeTab()
}

func changeTab() {
    let theTabView = theFirstTab.tabView
    theTabView?.selectTabViewItem(at: 3)
}

}

当我启动我的应用程序时,它会以编程方式加载第三个选项卡,这很棒!

然而,我想要做的是在父 ViewController 中创建我自己的菜单来调用这个函数,以便标签在容器中发生变化。

是否可以以某种方式从父级调用此函数?

我已经到处寻找解决这个问题的方法,并且非常接近,但希望这里有人可以帮助我。如果不够清楚,我可以添加我的故事板的图片吗?

提前致谢。

标签: swiftswift4nsviewcontrollernstabviewnstabviewcontroller

解决方案


推荐阅读