判断一个NSMenu是不是打开
Posted
技术标签:
【中文标题】判断一个NSMenu是不是打开【英文标题】:Determine whether an NSMenu is opened判断一个NSMenu是否打开 【发布时间】:2011-06-05 10:52:05 【问题描述】:我有一个 NSMenu,当用户单击状态栏中的 NSStatusItem 时会打开它。如何确定 NSMenu 是否打开(展开)?
谢谢!
【问题讨论】:
【参考方案1】:您可以使用NSMenuDelegate
协议来处理menuWillOpen
和menuWillClose
消息。使用menuWillOpen
设置一个布尔值,表示菜单已打开,使用menuWillClose
将其关闭。
更新:看起来menuWillClose:
不再是可用的委托方法。请改用menuDidClose:
。
【讨论】:
谢谢!但它仍然不起作用。我所做的是将-(void) menuWillOpen:(NSMenu *) theMenu isClosed = NO;
和 -(void) menuWillOpen:(NSMenu *) theMenu isClosed = NO;
够了吗?我做错了什么?awakeFromNib
方法中调用 [menu setDelegate:self]
或其他东西。
没问题!我犯了很多次忘记设置代表的错误,通常结果很奇怪......祝你好运! ;)
由于当前的 Mac 开发人员库没有 menuWillClose
方法,而是使用 menuDidClose:
方法。看看developer.apple.com/library/mac/#documentation/Cocoa/Reference/…以上是关于判断一个NSMenu是不是打开的主要内容,如果未能解决你的问题,请参考以下文章