2011-03-30 4 views
1

MacRuby에서 XCode를 사용하면 응용 프로그램 메뉴에서 항목 제목을 변경하고 싶습니다.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를 사용하면 차이가 있습니다.

답변

0

이상합니다. 나는 창에 라벨과 버튼을 넣고 그것들을 연결하고 상단에있는 "보기"메뉴에 메뉴 항목을 놓고 그것을 링크했다. 모두 정상적으로 작동합니다. 다른 설정이 있습니까? 상태 표시 줄 메뉴일까요?

컨트롤러를 xib보기의 눈금 왼쪽에있는 개체로 사용하고 있습니까? (나는 당신이 모든 것을 연결 했으니 까, 그래도 ..)

어쩌면 메뉴 항목도 다른 곳에서도 링크되어 있습니까?

메뉴 항목이 자동으로 업데이트되므로 제대로 작동합니다. 다시 연결을 확인하십시오. 도움이 될지는 모르겠지만 시도한 프로젝트를 보내 드리겠습니다.