1

XCode で MacRuby を使用して、アプリケーションのメニュー項目のタイトルを変更できるようにしたいと考えています。

私の単純化した例では、ボタンとラベルを含むウィンドウと、メニュー項目を含むメニューがあります。

次のクラスを作成し、@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 のドキュメントを見てきましたが、間違っていることは明らかではありません。ただし、私はこれにかなり慣れていないので、単純なものが欠けていることを願っています。

違いがある場合は、XCode 4 で MacRuby 0.10 を使用しています。

ポール

4

1 に答える 1

0

それは変だ。ウィンドウにラベルとボタンを配置してリンクし、その上に「表示」メニューにメニュー項目を配置してリンクしました。すべて正常に動作します。設定が違いますか?多分ステータスバーメニュー?

xibビューのグリッドの左側にコントローラーをオブジェクトとして持っていますか? (すべてをリンクしたので、そうだと思いますが、それでも..)

メニュー項目も別の場所にリンクされている可能性がありますか?

メニュー項目は自動的に更新されるため、これで問題なく動作するはずです。接続をもう一度確認してください。私が作ったプロジェクトを送って試してみることができますが、それが役立つとは思えません..

于 2011-06-16T21:57:02.063 に答える