0

当 NSMenu 实例中的菜单项被删除时,我需要得到通知。特别是因为我在课堂上持有一个 NSMenuItem *selectedItem 实例。如果这个 selectedItem 从我的 NSMenu 实例中删除,我想将 selectedItem 设置为 nil;

当您从菜单中删除单个项目时,有一个名为“NSMenuDidRemoveItemNotification”的 NSMenu 通知。但是,当您调用 [myNSMenu removeAllItems] 时,它不会被调用。

有任何想法吗?, 我需要继承 NSMenu 吗?谢谢。

4

1 回答 1

0

是的,你是对的,removeAll 没有通知。

你说得对,你需要子类化

或者,需要一些技巧(可能是 hacky 工作)

甚至您也可以使用 as 方法创建一个类别removeEachItem

如果菜单只剩下一项您可以跟踪NSMenuDidRemoveItemNotification的上次调用的项目,那么您就完成了您的要求。

于 2012-12-12T08:43:52.627 回答