-[NSMenuItemCell menuView]类的两个方法-[NSMenuItemCell setMenuView:]NSMenuItemCell的64位替换是什么?
如何获得相同的结果?

最佳答案

在任何发行版的Mac OS X中,从未使用NSMenuItemCellNSMenuView绘制菜单。以下摘录自Mac OS X Developer发行说明:


  特定于MacOS X Developer Preview 3的说明
  
  菜单
  
  菜单的实现已发生了巨大变化; NSMenuView
  NSMenuItemCell不再使用,-[NSMenu menuRepresentation]现在
  返回nil,并且撕下菜单不再可用。对于开发人员
  预览3,不支持菜单项图像。如果没有
  菜单项中的文本,由“ ”组成的占位符文本,或
  将改为插入“ ”。菜单项状态图像为
  既不支持,也代替了标准复选框或破折号
  用于on和混合状态。


(我不确定公开测试版Mac OS X的确切时间表,但是对于“ Developer Preview 3”,我想我们在这里谈论的是1990年代末)。

有关当前如何实现菜单的更多信息,请参见Application Menu and Pop-up List Programming Topics: How Menus Work

正如一二三所指,您将NSMenuNSMenuItem一起使用以实现菜单。在OS X 10.5和更高版本中,可以使用NSView方法在NSMenuItem中使用自定义-setView:实例。

关于macos - [NSMenuItemCell menuView]和[NSMenuItemCell setMenuView]的64位替换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7459926/

10-08 23:47