OS X应用程序无法在Swift中按下停靠栏图标时启动新窗口

时间:2016-09-08 21:56:43

标签: swift macos window

我正在使用Swift制作Mac应用,并遇到问题。当我的应用程序首次从终止状态启动时,它会自动启动一个新窗口。但是,如果用户X退出我的应用程序(使用红色X图标)而不是退出它,则点击我的应用程序的应用程序图标,新窗口不会自动打开。

如果我的应用程序窗口已经打开,我怎样才能让我的Mac应用程序每次启动停靠栏图标时都会启动一个新窗口?

2 个答案:

答案 0 :(得分:6)

将此添加到您的App Delegate:

func applicationShouldHandleReopen(theApplication: NSApplication, hasVisibleWindows flag: Bool) -> Bool {
    if !flag {
        for window: AnyObject in theApplication.windows {
            window.makeKeyAndOrderFront(self)
        }
    }
    return true
}

答案 1 :(得分:0)

别忘了

lazy var windows = NSWindow()

到AppDelegate的某个地方

然后实施

func applicationShouldHandleReopen(theApplication: NSApplication, hasVisibleWindows flag: Bool) -> Bool {
        if !flag {
        for window: AnyObject in theApplication.windows {
            window.makeKeyAndOrderFront(self)
        }
    }
    return true
}

就像@Owlswipe写的