前面的文章 swift os x开发之菜单栏程序 点击菜单图标后弹出的是一个下拉菜单。如果我们想定义自定义的view怎么操作呢?
1、在之前文章的项目中,删掉Menu
2、拖进来一个Popover and View Controller
3、再拖进来一个Custom View
4、将Popover View Controller的view绑定指定给Custom View:
5、代码:
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 | import Cocoa @NSApplicationMain class AppDelegate: NSObject, NSApplicationDelegate { @IBOutlet weak var window: NSWindow! @IBOutlet weak var popup: NSPopover! @IBOutlet weak var statusButton: NSButton! let statusItem = NSStatusBar.systemStatusBar().statusItemWithLength(-1) func applicationDidFinishLaunching(aNotification: NSNotification) { popup.behavior = NSPopoverBehavior.Transient let icon = NSImage(named: "statusIcon") statusItem.image = icon statusItem.target = self statusItem.action = Selector("iconClicked") } func iconClicked() { popup.showRelativeToRect(self.statusItem.button!.bounds, ofView: self.statusItem.button!, preferredEdge: NSRectEdge.MinY) } } |
6、运行效果: