여기에 외부 파일에서 많은 데이터를 읽고 코코아 사용자 인터페이스에 NSPopUpButton
으로 표시해야하는 애플리케이션이 있습니다. 여기서 캐치하는 것은 읽히는 데이터가 "숨겨진"것으로 간주되는지 여부를 나타내는 플래그가 있어야한다는 것입니다. 데이터가 숨겨져있는 경우keypress에 기반한 NSPopUpButton의 항목의 가시성 변경
은, 그것은 NSMenuItem
로 NSPopUpButton
에 추가 될 필요가 있지만, hidden
플래그는 그래서 일반적으로 NSPopUpButton
메뉴에 표시되지 않습니다 YES
로 설정해야합니다. 사용자가 키보드에서 "마술 키"(일반적으로 ALT,이 경우)를 누르고 있으면 숨겨진 개체를 숨길 필요가 있습니다. 사용자가 ALT 키를 놓을 수있게되면 선택되었을 수있는 것을 제외하고는 자동으로 다시 숨겨져 야합니다. 다른 NSMenuItem
이 선택되면 숨겨집니다.
저는 실제로 이것을 알아내는 시간을 가지고 있습니다.
NSArrayController
과 NSPopUpButton
을 사용하여 직선적 인 방법이 있는지 궁금 해서요. 그러나 지금까지 솔루션과 비슷한 것을 찾을 수 없었습니다. 숨겨진 속성을 관리 할 때가 아닙니다. NSMenuItem
개체.
누구나 이것이 코코아 바인딩을 사용하여 어떻게 달성 될 수 있는지 알고 있습니까?
그러면 이전에 숨겨져있는 NSMenuItem이 선택되면 다른 NSMenuItem이 선택 될 때까지 다시 숨겨지지 않도록 설정하는 방법은 무엇입니까? –
몇 가지 방법이 있습니다. 기본 모델 오브젝트를 더 이상 고급으로 만들거나, 필터 술어를 확장하여 해당 모델 오브젝트에 대한 예외를 추가 할 수 있습니다. 팝업이 아직 활성화되어있는 동안 고급 옵션을 제거하지 않는 것이 더 친숙한 행동 일 수도 있습니다. 팝업이 닫힐 때만 필터 조건부를 재설정하십시오. 그냥 제안. –
예, 의도 한 동작이며 이미 코딩했습니다. 내가 알아 내려고하는 것은 어떻게하면 개체 포인터에 반복되는 현재 개체와 어떻게 든 일치하는 조건자를 설정할 수 있는지, 그리고 같은 경우에는 "고급"필드를 모두 무시하고 개체를 계속 볼 수있게하는 것입니다 . 이 방법으로 NSPopUpButton의 현재 선택된 항목은 설정 한 "고급"속성 (YES 또는 NO)에 관계없이 항상 볼 수 있습니다. –