최소한의 IB 사용으로 Mac 응용 프로그램을 작성하고 있습니다. programatically create initial window of cocoa app (OS X)을 참조하십시오.프로그래밍 방식으로 생성 된 NSMenu는 첫 번째 항목 만 표시합니다.
public override void DidFinishLaunching(NSNotification notification) {
// create and show a window, then . . .
NSMenu fileMenu = new NSMenu();
NSMenu appMenu = new NSMenu();
// add some items to both menus, then . . .
NSMenuItem file = new NSMenuItem("file");
file.Submenu = fileMenu;
NSMenuItem app = new NSMenuItem("app");
app.Submenu = appMenu;
NSMenu topLevelMenu = new NSMenu();
topLevelMenu.AddItem(app); // these two lines in
topLevelMenu.AddItem(file); // either order
NSApplication.SharedApplication.Menu = topLevelMenu; // incidentally, setting the MainMenu doesn't appear to do anything
}
}
이상한 것은 내가 추가 첫 번째 메뉴 항목이 표시되는지이며, 그 제목이 내 응용 프로그램의 이름을 변경 :
여기 (자 마린/C#을 통해) 내 코드입니다. 따라서 위의 코드에서 MyAppName이라는 제목의 앱 메뉴 만 표시되지만 올바른 항목은 표시됩니다. 대신 NSMenuItem 파일을 먼저 추가하면 이름이 내 앱 이름으로 변경된 메뉴가 다시 표시되고보기 메뉴가 전혀 표시되지 않습니다.
변경된 제목은 괜찮습니다. 나는 애플이 항상 활성화 된 앱의 이름을 보여주기를 원한다고 생각한다. 하지만 나는 추가 메뉴를 표시 할 수 없다는 것을 나에게 알린다.
내 모든 메뉴를 화면 상단에 표시하려면 어떻게해야합니까?
'fileMenu'와'appMenu'에는 제목이 없습니다. – Willeke