0

我正在尝试在运行时将可变数量的 MenuItem 对象添加到 Menu 对象。当我的游戏开始时,我真的不知道我的菜单是否有 2 个或例如 5 个项目。

for (MyItem* item in myItemCollection)
{
        MenuItemImage* menuItem = [MenuItemImage itemFromNormalImage:@"MenuItem.png" selectedImage:@"MenuItemSelected.png" target:self selector:@selector(options:)];
}

我现在如何将 MenuItems 添加到 Menu 对象。通过使用 addChild 我得到一个例外,我真的无法在线找到解决方案。

另外,一个附带问题:我什么时候可以以这种方式添加我的 MenuItem。如何取回我的 MenuItem 并更改它们显示的图像?

4

1 回答 1

0

来自 NSMenu:

    - (void)addItem:(NSMenuItem *)newItem
假设您有一个 NSMenu 对象来发送此消息,并且 MenuItemImage 是 NSMenuItem 的子类。

取回菜单项,具体取决于您对所拥有项目的了解: – itemWithTag:
– itemWithTitle: – itemAtIndex:

或者您可以使用以下方法遍历项目:
– numberOfItems
– itemArray

查看 NSMenuItem 文档以获取/设置图像。

http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/NSMenu_Class/Reference/Reference.html

http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/NSMenuItem_Class/Reference/Reference.html

于 2009-03-31T20:46:48.610 回答