如何设置NSMenu的显示项目数?

时间:2014-02-26 00:36:02

标签: objective-c macos cocoa nsmenu nsmenuitem

如标题所述。我实现了一个类似于组合框的NSMenu对象。但我想知道如何设置显示项目的数量。就像NSComboBox的方法一样:-setNumberOfVisibleItems:

有人可以告诉我吗?

1 个答案:

答案 0 :(得分:1)

没有内置方法。 您可以轻松地子类化NSMenu并覆盖addItem ...和insertItem ...方法以首先检查numberOfItems并根据需要删除或取消。

当然,如果您确定要控制该菜单,则可以在添加项目的任何编码之前进行此检查。

当然,您也可以创建一个新的委托协议,该协议在您使用时继承自NSMenuDelegate协议,然后通过诸如shouldAddMenuItem或willAddMenuItem等方法轻松管理委托。