美文网首页macOSSwiftTips
Swift语言 OS X程序中点击dock图标重新弹出窗口方法

Swift语言 OS X程序中点击dock图标重新弹出窗口方法

作者: lfb_CD | 来源:发表于2015-07-11 00:57 被阅读675次

    最近在做一个好玩的OSX上的软件,欢迎关注我微博哦
    http://weibo.com/lfbWb

    本文在csdn博客地址:http://blog.csdn.net/li962429707/article/details/46837405

    方法一:

    func applicationShouldHandleReopen(sender: NSApplication, hasVisibleWindows
    flag: Bool) -> Bool {
        if !flag{
            let sb = NSStoryboard(name: "Main", bundle: nil)
            let controller = sb?.instantiateInitialController() as
    NSWindowController
            controller.window?.makeKeyAndOrderFront(self)
            self.window = controller.window
        }
        return true 
    }
    

    方法二:

    func applicationShouldHandleReopen(sender: NSApplication, hasVisibleWindows
        flag: Bool) -> Bool {
            if !flag{
                for window in sender.windows{
                    if let w = window as? NSWindow{
                        w.makeKeyAndOrderFront(self)
                    }
                }
         }
        return true 
    }
    

    方法三:

    var mainWindow: NSWindow!
    func applicationDidFinishLaunching(aNotification: NSNotification) {
            mainWindow = NSApplication.sharedApplication().windows[0] as! NSWindow
    }
    func applicationShouldHandleReopen(sender: NSApplication, hasVisibleWindows
        flag: Bool) -> Bool {
            if !flag{
                mainWindow.makeKeyAndOrderFront(nil)
            }
        return true 
    }
    

    相关文章

      网友评论

      • 断水殇:点击Dock,applicationDidFinishLaunching 不执行是怎么回事呢?
        断水殇:@hsd402 额,是我提问的时候粘错了,我写的确实是- (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)flag这个方法,但是打断点没执行:joy:
        b1145e1caa0b:点击Dock, 执行的是- (BOOL)applicationShouldHandleReopen:(NSApplication *)sender hasVisibleWindows:(BOOL)flag 这个方法:blush:

      本文标题:Swift语言 OS X程序中点击dock图标重新弹出窗口方法

      本文链接:https://www.haomeiwen.com/subject/nrluqttx.html