Xcode OS X使用NSToolbar更改视图(swift)

时间:2015-03-18 22:00:49

标签: xcode macos swift nsviewcontroller nstoolbar

我有一个带有窗口控制器的故事板。该窗口控制器有一个NSToolbar,带有2个NSToolbarItems,view1和view2。这是WindowController的代码:

import Cocoa

class MainWindow: NSWindowController {

    override func windowDidLoad() {
        super.windowDidLoad()

    }


    @IBOutlet var toolbar: NSToolbar!

    @IBAction func view1(sender: AnyObject) {
        ViewController().changeView("View1")
    }

    @IBAction func view2(sender: AnyObject) {
        ViewController().changeView("View2")
    }
}

我还有一个在启动时加载的视图控制器(ViewController)。这是代码用于另外两个视图控制器(View1)和(View2)

的地方
import Cocoa

class ViewController: NSViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

    }

    override var representedObject: AnyObject? {
        didSet {

         }
    }

    func changeView (kString:NSString) {
        let kView1:NSViewController = NSStoryboard(name: "Main", bundle: nil)?.instantiateControllerWithIdentifier("View1") as NSViewController

        let kView2:NSViewController = NSStoryboard(name: "Main", bundle: nil)?.instantiateControllerWithIdentifier("View2") as NSViewController

        var currentViewController = kView1

        switch kString {
        case "View1":
            currentViewController = kView1
        case "View2":
            currentViewController = kView2
        default:
            currentViewController = kView1
        }

        self.view.addSubview (currentViewController.view)
    }

}

这是我的故事板布局:(似乎我无法发布图片,我的声誉很低)我希望你能理解

[MainWindow] - > [SplitViewController] - > [SideBar(尚未使用)]

---------------------------------------------> [视图控制器]

故事板中有两个独立的视图控制器,没有任何连接。 View1和View2

View1和View2分别具有故事板ID的View1和View2。

运行应用程序并单击工具栏上的其中一个视图按钮时,我在控制台中收到错误消息:

2015-03-19 10:35:31.448 ToolbarTest [16032:2922107] - [NSNib initWithNibNamed:bundle:]无法在bundle(null)中加载nibName:ToolbarTest.ViewController。

我做错了什么?

0 个答案:

没有答案