我需要在 NSMenuItem 中使用自定义视图。我创建了一个新视图 XIB 并在其中自定义了视图。如何使用 setView: 方法加载该视图并在 NSMenuItem 中设置它?
更新:我找到了一个解决方案,但现在带有自定义视图的菜单项在鼠标悬停时不会突出显示。我能解决这个问题吗?
我需要在 NSMenuItem 中使用自定义视图。我创建了一个新视图 XIB 并在其中自定义了视图。如何使用 setView: 方法加载该视图并在 NSMenuItem 中设置它?
更新:我找到了一个解决方案,但现在带有自定义视图的菜单项在鼠标悬停时不会突出显示。我能解决这个问题吗?
我创建了一个 NSViewController 子类并将其设置为 XIB 中文件的所有者。然后我将文件所有者的视图出口设置为 XIB 中的视图,最后在需要时实例化视图控制器并将其视图设置为 NSMenuItem 视图,代码如下:
CustomViewController *viewController = [[CustomViewController alloc] initWithNibName:@"NibName" bundle:nil];
NSMenuItem *menuItem = [[NSMenuItem alloc] init];
[menuItem setView:[viewController view]];