2010-08-17 3 views
0

너무 일반적인 것이 아니기를 바랍니다. 저는 초보자이고 Objective-C에서 Mac 용 상태 표시 줄 (오른쪽에있는 메뉴)을 만드는 방법을 배우려고합니다.정보를 Mac 메뉴 막대에 배치하십시오. 항목

기본 개요를 만들 수 있었지만 특정 작업에 어떤 방법을 사용해야할지 모르겠습니다. 드롭 다운 메뉴가 나타나면 해당 옵션을 반환하는 방법이 필요합니다. 표시 할 문자열.

즉, 메뉴를 호출하여 반환 값을 표시하려면 어떻게해야합니까?

코코아로주세요.

감사합니다.

+2

상태 표시 줄은 실제로 이러한 것들이있는 메뉴 막대의 섹션이므로 항상 하나이기 때문에 만들 수 없습니다. 만들고자하는 것을 상태 항목이라고합니다. –

답변

2

IBAction 메서드를 만듭니다. 이와 같이 레이블이 지정된 메소드는 Interface Builder의 클래스 컨트롤러에서 볼 수 있습니다. 따라서 앱 컨트롤러 클래스에 이러한 메서드를 추가하면 인터페이스 작성기에서 해당 메서드가 앱 컨트롤러 개체에 표시됩니다. 이제는 IB에서 볼 수 있으므로 메뉴 항목에서 컨트롤러로 드래그하여 메뉴 항목에 연결합니다. ibaction 메소드에는 "sender"라는 인수가 있으며이 인수는 메시지의 발신자입니다. 따라서 메서드를 메뉴 항목에 연결하면 보낸 사람은 메서드를 호출하는 개체이기 때문에 NSMenuItem이됩니다. NSMenuItem은 제목을 변경하는 데 사용할 수있는 "setTitle :"메서드에 응답합니다. 그래서 이런 일이 ... ".H"파일에서

-(IBAction)displayMenuItemtitle:(id)sender; 

"하는 .m"파일에서

를 작동합니다

-(IBAction)displayMenuItemtitle:(id)sender { 
NSString* newTitle = @"my new title"; 
[sender setTitle:newTitle]; 
} 

편집 : 후 질문을 다시 읽기 메뉴를 열 때 NSMenu 객체가 새로운 제목을 표시하기를 원할 수도 있습니다. NSMenu에는 대리자 메서드 인 menuWillOpen :이 있습니다. 따라서 앱 컨트롤러를 NSMenu의 델리게이트로 설정하십시오. 그런 다음 귀하의 응용 프로그램 클래스에서 이것을 사용하십시오 ...