我希望在我的应用程序中创建一个菜单侧栏,它可以显示和控制菜单旁边的视图控制器。类似于以下内容: 我想避免使用TableView作为菜单,但我并不完全反对它。我尝试过使用TableView和Container,以及TabViewController,但我似乎无法看到如上所示。
提前感谢任何帮助。
答案 0 :(得分:0)
灵感来自“您正在寻找的是NSSplitViewController”
代码如下:
class MenuController: NSViewController {
override func loadView() {
super.loadView()
tabViewController = parent?.childViewControllers[1] as! NSTabViewController! //The parent is the SplitView, so the child in the second view would be the TabViewController
}
@IBOutlet weak var FirstButton: NSButton!
@IBOutlet weak var SecondButton: NSButton!
var tabViewController = NSTabViewController()
@IBAction func FirstView(_ sender: Any) {
tabViewController?.selectedTabViewItemIndex = 0 //Now that the TabViewController is specified, one may set the current view controller within the tabview.
}
@IBAction func SecondView(_ sender: Any) {
tabViewController?.selectedTabViewItemIndex = 1 //Shows the second view in NSTabViewController
}
}
在图表中,NSSplitViewController
有两个childViewControllers
;因此它是这些控制器的父级,可以通过两个子视图控制器中的parent?
方法进行访问。在您指定tabViewController
后,您可以设置selectedTabViewItemIndex[value]
来切换NSTabViewController
中的视图。