对XCode使用MacRuby,我希望能够更改应用程序菜单中项目的标题。在NSMenuItem对象上调用setTitle方法不会改变显示的标题,但会改变属性
在我的简化示例中,我有一个带有按钮和标签的窗口以及一个带有菜单项的菜单。
我创建了以下类,并将@my_label链接到标签,@my_menu链接到菜单项,并将按钮单击到button_clicked方法。当您点击按钮时,标签文本将更新以显示“某人按下了按钮”,但实际显示的菜单标题不会改变。
class MyWindowController < NSWindowController
attr_accessor :my_label
attr_accessor :my_menu
def button_clicked(sender)
@my_menu.setTitle("Someone pushed the button")
@my_label.stringValue = @my_menu.title
end
end
这似乎表明title
财产被更新,但变化只是不被显示。
我看过NSMenuItem的文档,我看不出任何明显的,我做错了。不过,我对此很新,所以希望我只是缺少一些简单的东西。
我使用MacRuby 0.10与XCode 4,如果这有什么区别。
Paul