gpt4 book ai didi

macos - 单击 statusItem 时如何调用函数/操作?

转载 作者:可可西里 更新时间:2023-11-01 00:53:49 27 4
gpt4 key购买 nike

我有这段代码可以在“发件人”位置打开一个弹出元素,即按下的按钮。单击 statusItem 时如何调用此函数,以便从状态/菜单栏中弹出弹出窗口?

@IBAction func togglePopover(sender: AnyObject) {
if !(popoverIsOpen) {
myPopover.showRelativeToRect(sender.bounds, ofView: popoverButton, preferredEdge: NSRectEdge(3))
popoverIsOpen = true
}
else {
myPopover.close()
popoverIsOpen = false
}
}

我目前正在使用 NSPopoverNSStatusItem

编辑: Xcode 6 beta 4 的变更日志添加了 NSStatusItem.button 并温和地弃用了以前的调用形式,例如 NSStatusItem.actionNSStatusItem.title, NSStatusItem.target

文档现在是这样的

NSStatusItem.button

The button that is displayed in the status bar. This is created automatically on the creation of the StatusItem. Behavior customization for the button, such as image, target/action, tooltip, can be set with this property.

最佳答案

我能够使用 NSStatusBarItem 的新 NSStatusBarButton 视觉表示实现如下所示的实现。在此示例中,我的 .xib 文件具有已连接到 View 的 NSPopover 元素,此处未显示。

@IBOutlet weak var myPopover: NSPopover!
var statusBar: NSStatusItem!
var popoverIsOpen = false

@IBAction func togglePopover(sender: AnyObject) {
if !(popoverIsOpen) {
myPopover.showRelativeToRect(sender.bounds, ofView: statusBar.button, preferredEdge: NSRectEdge(3))
popoverIsOpen = true
}
else {
myPopover.close()
popoverIsOpen = false
}
}

func applicationDidFinishLaunching(aNotification: NSNotification?) {
//initialize menu bar icon
statusBar = NSStatusBar.systemStatusBar().statusItemWithLength(CGFloat(48))
statusBar.button.title = "Your App Title"
statusBar.button.appearsDisabled = false
statusBar.button.action = Selector("togglePopover:")
statusBar.button.target = self
}

关于macos - 单击 statusItem 时如何调用函数/操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24964938/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com