swift os x开发之菜单栏程序

视频可参考:
http://www.swiftvideotutorials.com/creating-menubar-apps-osx

开发步骤大体如下:
1、新建工程,因为这个菜单程序不需要窗口,所以在MainMenu.xib中删除窗口
2、在object library中拖入一个menu.
屏幕快照 2015 10 08 下午12 07 53
3、删除2个menu item,把一个文字改成 Show hidden files
4、添加action和outlet
屏幕快照 2015 10 08 下午12 11 51
屏幕快照 2015 10 08 下午12 12 29
5、创建icon
屏幕快照 2015 10 08 下午12 15 34
6、写代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import Cocoa

@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {

    @IBOutlet weak var window: NSWindow!

    @IBOutlet weak var statusMenu: NSMenu!
   
    let statusItem = NSStatusBar.systemStatusBar().statusItemWithLength(-1)

    func applicationDidFinishLaunching(aNotification: NSNotification) {
        // Insert code here to initialize your application
        let icon = NSImage(named: "statusIcon")
        statusItem.image = icon
        statusItem.menu = statusMenu
    }
   
    @IBAction func menuClicked(sender: NSMenuItem) {
        //let calendar = NSCalendar.currentCalendar()
        let alert = NSAlert()
        alert.messageText = "message"
        alert.informativeText = "informativeText"
        alert.addButtonWithTitle("ok")
        alert.addButtonWithTitle("cancel")
        let returnCode = alert.runModal()
       
        if returnCode == NSAlertFirstButtonReturn{
            NSLog("1")
        }else{
            NSLog("2")
        }
       
    }
}

7、这时运行项目,docker里还是会出现图标,需要增加一个配置:
979D3DE1 D453 4CDE 850A E2FD0F0C92F3
将Application is agent (UIElement)一项设置为Yes

发表评论

电子邮件地址不会被公开。 必填项已用*标注