NSCollectionView как NSPopUpButton "ящик" - PullRequest
0 голосов
/ 11 ноября 2010
  • Я хотел бы иметь что-то похожее на «Режим списка» стеков в доке.Но он должен иметь поведение NSPopUpButton, с точки зрения отображения выбранного объекта, когда «ящик» свернут.Каждая строка должна содержать изображение и текстовые столбцы.

    Как бы вы поняли это?Может быть, подкласс NSPopUpButton, чтобы отобразить CollectionView?Или иметь обычную кнопку и прикрепить к ней окно, содержащее CollectionView, при нажатии?

  • О, и это полосы вверх и вниз вместо полос прокрутки сбоку - как это делается?

1 Ответ

0 голосов
/ 11 ноября 2010

Почему бы не использовать обычную кнопку NSPopUpButton, сборка меню которой заменена на подкласс NSMenu / NSMenuItem, который рисует вещи так, как вы хотите? Вы получаете все возможности прокрутки бесплатно.

Однако, если вы настаиваете на использовании NSCollectionView:

1 - Не делайте подкласс NSPopUpButton, если вы планируете всплывать что-то кроме меню. Он построен для отображения меню. Просто используйте обычный NSButton и управляйте его -state (NSOnState, пока отображается представление коллекции; NSOffState в противном случае) вручную.

2 - Вы могли бы показать прозрачное окно без полей (многие примеры доступны в Интернете) со стандартным сборным видом / сборкой просмотра без полос прокрутки. Окно без полей может содержать области вверх / вниз (которые могут быть простыми представлениями с помощью NSTrackingAreas для обнаружения наведения мыши). Эти области могут вручную прокручивать NSScrollView каждые n миллисекунд, используя NSTimer, находясь в режиме зависания.

...