2017-05-01 5 views
0

사용자의 github 저장소 목록을 표시하는 MenuBar Swift Cocoa 응용 프로그램을 빌드하고 있습니다. 하나를 클릭하면 github.com에 저장소가있는 새 브라우저 창이 열립니다.NSMenuItem에 검색 창을 표시하는 방법

나는 repos의 목록을 성공적으로로드하여 NSMenuItem 객체에 렌더링하고 있습니다. 이제 목록의 맨 위에 검색 막대를 추가하고 검색 문구에 따라 항목을 다시 렌더링하려고합니다.

내 질문은 :

  1. NSMenu에서 "검색 창"을 표시하는 가장 좋은 방법은 무엇입니까?
  2. NSMenuItem "검색/필터링"하는 표준 방법이 있습니까?
  3. 전체 메뉴 (.removeAllItems())를 다시 렌더링하고 새 항목을 동적으로 추가해야합니까? 아니면 두 개의 정적 메뉴가 있어야합니까? 사용자가 검색 할 때와 그렇지 않을 때 레이아웃 (예 : NSMenuItem)이 달라지기 때문에이 질문을드립니다.

저는 스위프트 3과 Xcode 8.3을 사용하고 있습니다. 감사!

+1

메뉴를 필터링하기위한 특별한 빌드는 없습니다. 그래서 난 그냥 removeAllItems 시도하고 필요에 따라 그들을 추가 할 것입니다. – catlan

+0

감사합니다 @ catlan 나는 그것을 할 것입니다! –

답변

1

글쎄, 몇 달 동안 시도한 후에, 나는 그것을 알아 냈다.

  1. NSMenu에 "검색 창"을 표시하는 가장 좋은 방법은 무엇입니까?

    당신은 NSMenuItemNSMenu에 추가 할 수 있으며 (컨트롤러에 스토리 보드에서 드래그하여 searchItemsearchView를 연결 searchItem.view = searchView) 그것은 CustomView에 뷰의 설정.

  2. NSMenuItems를 "검색/필터링"하는 표준 방법이 있습니까?

    아니요, 없습니다. 항목을 지우고 다시 렌더링하십시오.

  3. 전체 메뉴 (.removeAllItems())를 다시 렌더링하고 새 항목을 동적으로 추가해야합니까? 아니면 두 개의 정적 메뉴가 있어야합니까? 나는 레이아웃 (예 : NSMenuItems)이 사용자가 검색 할 때와 그렇지 않을 때 차이가 있기 때문에 이것을 묻습니다.

    두 개의 부 메뉴를 갖는 것이 좋은 해결책으로 밝혀졌습니다.