macos - 如何防止 Storyboard 打开窗口

标签 macos cocoa swift nswindow nsapplication

我正在编写一个简单的应用程序,该应用程序加载到状态栏,单击它会在状态栏图标下打开一个弹出窗口。我使用 Storyboard来定义我喜欢在弹出窗口中显示的 UI。问题是,一旦我实例化 Storyboard,就会打开一个窗口。我怎样才能防止这种情况发生?这是我的应用程序委托(delegate)中的代码:

func applicationDidFinishLaunching(aNotification: NSNotification) {
    let mainBoard = NSStoryboard(name: "MainBoard", bundle: nil)
}

最佳答案

import Cocoa

@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
    var defaultWindow:NSWindow!
    func applicationDidFinishLaunching(aNotification: NSNotification) {
        defaultWindow = NSApplication.sharedApplication().windows.first as? NSWindow
        defaultWindow.close()

    }
    func applicationWillTerminate(aNotification: NSNotification) {
        // Insert code here to tear down your application
    }
    @IBAction func menuClick(sender: AnyObject) {
        defaultWindow.makeKeyAndOrderFront(nil)
    }
}

更新:Xcode 7.1.1 • Swift 2.1

NSApplication.sharedApplication().windows.first?.close()

关于macos - 如何防止 Storyboard 打开窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29585041/

相关文章:

macos - 卸载仍然有实例的kext

objective-c - Cocos2d - Mac : Check for keyboard events?

iphone - 如何使用 NSPredicate 作为 Key-Path 值

iphone - 我可以动态更改 UIView 的内容吗?

ios - 无法让 Swift 使用我的通用 == 运算符

ios - 来自不同类的特定实例的 Swift 引用变量

java - "Error: This Java instance does not support a 32-bit JVM."[1] "Please install the desired version."

Java API 用于读取 MAC 的 .numbers 文件

objective-c - 如何连续获取 NSSlider 的值?

json - 从 JSON 数据向 TableView 添加部分