我有一个NSMenu,当用户点击状态栏中的NSStatusItem时会打开它。如何确定NSMenu是否已经打开(展开)?
谢谢!
我有一个NSMenu,当用户点击状态栏中的NSStatusItem时会打开它。如何确定NSMenu是否已经打开(展开)?
谢谢!
NSMenuDelegate
协议来处理menuWillOpen
和menuWillClose
消息。使用menuWillOpen
来设置一个布尔值,表示菜单已经打开,使用menuWillClose
关闭它。
menuWillClose:
不再是可用的委托方法。请改用menuDidClose:
。
和
-(void) menuWillOpen:(NSMenu *) theMenu { isClosed = NO;}`。这样就足够了吗?我做错了什么? - KnodelawakeFromNib
方法中调用[menu setDelegate:self]
或类似的方法。 - Itai FerbermenuWillClose
方法,而是使用了一个menuDidClose:
方法。请参考https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/NSMenuDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intf/NSMenuDelegate。 - anka