내 코코아 응용 프로그램의 기본 메뉴에서 일부 항목의 제목을 변경하려고합니다. IB 내에서뿐만 아니라 내 앱의 applicationDidFinishLaunchingWithOptions : 메소드에서 프로그래밍 방식으로 설정하려고했습니다. 어느 쪽이든, 내 NSMenuItem 객체의 title 속성이 변경됩니다. 하지만 내 변경 사항 중 아무 것도 앱이 실행 중일 때 화면 상단에있는 항목의 실제 제목에 반영되지 않습니다.내 앱의 메인 메뉴에 항목 제목을 설정 했습니까?
아무도 무슨 일이 일어나는지 설명 할 수 있습니까? 어떻게 변경할 수 있습니까?
편집 :
NSApplication *app = [NSApplication sharedApplication];
NSMenu *mainMenu = [app mainMenu];
NSArray *itemArray = [mainMenu itemArray];
NSMenuItem *firstItem = [itemArray objectAtIndex: 0];
NSMenu *submenu = [firstItem submenu];
내가 원하는 타이틀로 firstItem과 및 하위 메뉴 모두의 제목 속성을 변경 : 데이터 구조는 IB가 설정하는 기본입니다. 그러나 여전히 기본 설정이 나타납니다.
독립 실행 형 'NSMenuItem' 인스턴스 또는 NSMenu 인스턴스입니까? 'NSMenu'는 자체 타이틀을 유지합니다. –
화면 상단의 메뉴 막대에 표시된 응용 프로그램의 주 메뉴는 NSMenu입니다. 표시되는 각 항목 (예 : "응용 프로그램 이름", "파일", "편집", "보기"등 - NSMenuItem입니다. 각 메뉴 항목에는 드롭 다운되는 하위 메뉴 인 NSMenu가 있습니다. 그래서 NSMenu이지만 수직이 아닌 메뉴 막대에 수평으로 표시되는 "특별한 메뉴"입니다. 이제 인터페이스 작성기로 NIB를로드하고 직접 텍스트를 설정할 때 나타나는 시뮬레이트 된 메뉴 막대의 항목을 두 번 클릭 할 수 있어야합니다. 이 방법이 효과가 없습니까? –
Andrew - 텍스트를 바꿀 수는 있지만 여전히 앱에서 동일하게 표시됩니다. –