cocoa - Edit/Design NSView 可视化

cocoa - Edit/Design NSView visually

如何在 Xcode 中直观地设计 NSView?我正在尝试构建一个只有 statusMenu 的 statusBar 应用程序

正如你在上面看到的,对象出现了,但我无法对其进行可视化编辑,结果是这样的:

我尝试使用 XIB 文件(只有 NSView,没有 ViewController),但我无法将 XIB 中的 NSView 放入 AppDelegate。我尝试了其他方法并设法使用了 XIB 文件,但是我无法使用 Storyboard。

你对这种情况有什么想法吗?

更新

感谢 Max 回答我的问题。我之前确实尝试过但失败了。在您发表评论后我又试了一次,但仍然没有运气。这是我的做法

我创建了一个 ViewController 然后我将其视图更改为 MenuCustomView (NSView) 这是 AppDelegate

中的代码
    let statusBar = NSStatusBar.systemStatusBar().statusItemWithLength(-1)
var menuCustomView = NSView()

func applicationDidFinishLaunching(aNotification: NSNotification) {
    // Insert code here to initialize your application
    let statusIcon = NSImage(named: "statusIcon")
    let statusMenu = NSMenu()
    statusBar.image = statusIcon
    statusBar.menu = statusMenu

    let menuItem = NSMenuItem()
    menuItem.title = "title"
    var vc = ViewController()
    menuCustomView = vc.view
    menuItem.view = menuCustomView
    statusMenu.addItem(menuItem)

}

我在项目中的文件

即使您不需要视图控制器,您也可以使用它们来设计视图。在情节提要中创建一个,按照您想要的方式编辑视图。

然后您可以通过从情节提要中创建一个 viewController 并使用其视图 属性 将视图附加到 NSStatusBarItem

来使用该视图

我在代码中的话:

    let storyboard = NSStoryboard(name: "Main", bundle: nil)
    let viewController = storyboard?.instantiateControllerWithIdentifier("MyViewController") as! NSViewController
    let view = viewController.view

我假设您想向视图添加功能代码。例如,为了响应按钮单击,您必须子类化 NSViewController,然后实现您将添加到 AppDelegate 的代码。

如果您需要更多解释,请随时给我写信:)