사용자 정의보기가있는 상태 항목에 대한 NSMenu를 제공하는 NSPopUpButton이 있습니다. 팝업 버튼은 링크 목록을 표시합니다. 사용자가 목록에서 링크를 선택하면 링크가 사용자의 브라우저에 표시됩니다 (백그라운드에서).사용자가 메뉴 항목을 선택한 후에 NSPopUpButton을 열어 두는 방법은 무엇입니까?
당연히 사용자가 링크를 선택할 때마다 메뉴가 닫힙니다.
나는 이것을 바꾸고 싶다 : 사용자가 배경에서 열릴 수있는 다양한 링크를 클릭하는 동안 메뉴가 열려 있기를 바란다. 사용자가 다른 곳을 클릭하면 메뉴가 사라질 수 있습니다.
어떻게 수행 할 수 있습니까? NSMenuItem을 서브 클래스 화하고 마우스 클릭을 어떻게해야합니까? 튀어 나온 메뉴에 투명한 NSView를 오버레이하고 어떻게 든 클릭을 차단합니까? 나는 이러한 제안을 blithely하지만, 나는이 중 하나를 구현하는 데 어려움을 겪게 될 것이다 ... 올바른 방법에 대한 포인터가 인정 될 것이다.
의견을 보내 주셔서 감사합니다. 나는 확실히 NSView의 내 자신의 하위 클래스를 작성하는 것을 고려할 것이다. 그러나 NSPopUpButtonCell/NSMenu 조합과 함께 제공되는 모든 하위 메뉴, 이미지, 켜기/끄기 상태 등을 무료로 처리 할 수있는 왕실의 고통처럼 느껴지기도합니다. 내 자신의 NSView를 작성하는 것이이 작업을 수행하는 방법 중 하나임을 이해할 수 있지만 솔직히 NSPopUpButton을 정확히 모방하고 변경하려는 동작을 변경하면 바로 앞으로 나아갈 수 있다고 생각합니다. 그리고 "컨트롤을 너무 멀리 지나쳐 원래 의도대로 굴려 라!" 내 말은 결과가 같아서 의식에서는 것이 무의미한 것처럼 보입니다. – Dennis