1

这两种方法-[NSMenuItemCell menuView]和类的 64 位替换-[NSMenuItemCell setMenuView:]NSMenuItemCell什么?我怎样才能获得相同的结果?

4

2 回答 2

7

和从未用于在 Mac OS X 的任何发行版本中绘制菜单。以下是 Mac OS X 开发者发行说明的摘录NSMenuItemCellNSMenuView

特定于 MacOS X Developer Preview 3 的注释

菜单

菜单的实现发生了巨大变化;NSMenuView并且 NSMenuItemCell不再使用,-[NSMenu menuRepresentation]现在退货nil和撕下菜单不再可用。对于 Developer Preview 3,不支持菜单项图像。如果菜单项中没有文本,则会插入由“<图像>”或“<图像名称>”组成的占位符文本。也不支持菜单项状态图像,并且在它们的位置使用标准复选框或破折号来表示开启和混合状态。

(我不确定 Mac OS X 公开测试版之前的确切时间表,但对于“开发者预览版 3”,我猜我们在这里谈论的是 1990 年代后期)。

有关当前如何实现菜单的更多信息,请参阅应用程序菜单和弹出列表编程主题:菜单的工作原理

正如一二三所提到的,您使用NSMenuwithNSMenuItem来实现菜单。在 OS X 10.5 及更高版本中,您可以使用该方法在s中使用自定义NSView实例。NSMenuItem-setView:

于 2011-09-18T10:01:26.693 回答
3

要自定义菜单项绘图,您需要向NSMenuItem.

于 2011-09-18T06:51:24.930 回答