【发布时间】:2010-01-27 14:04:45
【问题描述】:
当用户在 NSPopUpButton 中鼠标移动(或以其他方式阅读)项目时,是否可以检测到告诉我的控制器的操作?我似乎只收到关于新选择的通知,并且我希望在用户滚动菜单中的任何项目时收到通知。
谢谢
汤姆
【问题讨论】:
标签: cocoa nspopupbutton
当用户在 NSPopUpButton 中鼠标移动(或以其他方式阅读)项目时,是否可以检测到告诉我的控制器的操作?我似乎只收到关于新选择的通知,并且我希望在用户滚动菜单中的任何项目时收到通知。
谢谢
汤姆
【问题讨论】:
标签: cocoa nspopupbutton
您可以将您的控制器设置为NSPopUpButton 菜单的代理。然后,当鼠标在菜单上移动时,您将收到 -menu:willHighlightItem: 委托消息。
- (void)awakeFromNib
{
[[popupButton menu] setDelegate:self];
}
- (void)menu:(NSMenu *)menu willHighlightItem:(NSMenuItem *)item
{
if(menu == [popupButton menu])
{
//do something
}
}
【讨论】:
menu == [popUpButton menu])。假设 NSMenu 实现了isEqual: 的更深层含义,当用户突出显示恰好具有“相同”的不相关菜单中的项目时,您是否真的要执行该操作(对于 that 的某些定义)菜单项?