2011-01-07 1 views
4

사용자가 상태 표시 줄의 NSStatusItem을 클릭하면 열리는 NSMenu가 있습니다. NSMenu가 열렸는지 (확장되었는지) 아닌지 어떻게 결정합니까?NSMenu 열기 여부 결정

감사합니다.

답변

9

NSMenuDelegate 프로토콜을 사용하면 menuWillOpenmenuWillClose 메시지를 처리 ​​할 수 ​​있습니다. 메뉴가 열려 있음을 나타내는 부울을 설정하려면 menuWillOpen을 사용하고 메뉴를 끄려면 menuWillClose을 사용하십시오.


업데이트 : menuWillClose:는 더 이상 사용할 수 대리자 메서드처럼가 보이는 없습니다. 대신 menuDidClose:을 사용하십시오.

+0

감사합니다. 하지만 여전히 작동하지 않습니다. 내가 한 것은 를 인터페이스 파일에 추가하는 것이다. 그런 다음 .m 파일에서 두 가지 방법을 추가했습니다. '- (void) menuWillOpen : (NSMenu *) theMenu { \t \t isClosed = NO; \t }'- (void) menuWillOpen : (NSMenu *) theMenu { \t \t isClosed = NO; \t } 충분하니? 나는 무엇을 잘못 했는가? – Knodel

+1

'awakeFromNib' 메쏘드 등에서'[menu setDelegate : self]'를 호출해야합니다. –

+0

고마워요! 내 어리 석음에 대한 미안. – Knodel