Вызов метода setTitle для объекта NSMenuItem не меняет отображаемый заголовок, но изменяет свойство - PullRequest
1 голос
/ 30 марта 2011

Используя MacRuby с XCode, я хотел бы иметь возможность изменять заголовок элемента в меню моего приложения.

В моем упрощенном примере у меня есть окно с кнопкой и меткой, а также меню с пунктом меню.

Я создал следующий класс и связал @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, если это имеет какое-либо значение.

Пол

1 Ответ

0 голосов
/ 17 июня 2011

это странно.Я поместил метку и кнопку в окно, связал их, и поместил пункт меню в меню «Вид» сверху, и связал его.все отлично работаетУ вас есть другие настройки?может быть меню строки состояния?

У вас есть контроллер в виде объекта слева от сетки в представлении xib?(Полагаю, вы это делаете, поскольку вы все связали, но все же ..)

может быть, пункт меню связан также где-то еще?

Элементы меню обновляются автоматически, так что это должно работать нормально.просто проверьте соединения снова.Я могу отправить вам проект, который я сделал, чтобы попробовать его, хотя я сомневаюсь, что это поможет ..

...