Как создать тонкую полосу прокрутки в Mac OS X Lion

#macos #cocoa #nsscroller

#macos #какао #nsscroller

Вопрос:

Как мне создать тонкую полосу прокрутки, например, в приложении Stickies на OSX Lion?

введите описание изображения здесь

Комментарии:

1. Это скроллер по умолчанию в Lion, он поставляется со всеми видами прокрутки. Вы хотите сказать, что хотите воссоздать то же самое в Snow Leopard?

Ответ №1:

Если вы установите NSScroller «маленький» размер элемента управления, будь то в IB или using -setControlSize: , разве это не правильная толщина?

Ответ №2:

Примечания к выпуску для версии AppKit Lion описывают, когда используются и не используются полосы прокрутки наложения:

Если пользователь не переопределит внешний вид полосы прокрутки с помощью системных настроек, происходит следующее:

  • Если все указывающие устройства пользователя поддерживают как горизонтальную, так и вертикальную сенсорную прокрутку, полосы прокрутки будут скрыты при обычном использовании. Они отображаются в виде наложения поверх содержимого окна во время прокрутки пользователем и остаются видимыми на короткое время, чтобы разрешить перетаскивание полосы прокрутки.
  • Если у пользователя есть хотя бы одно внешнее указывающее устройство, которое не поддерживает прокрутку, полоса прокрутки отображается постоянно, а полезное пространство в окне уменьшается, как и в предыдущих версиях Mac OS X. (Эти постоянные полосы прокрутки называются устаревшими полосами прокрутки.)
  • Если у пользователя нет подключенных внешних указывающих устройств, поведением полосы прокрутки управляют настройки трекпада; если пользователь отключил прокрутку трекпада в системных настройках, используются устаревшие полосы прокрутки.

Примечание по совместимости: существуют три ситуации, в которых используются устаревшие полосы прокрутки независимо от оборудования или настроек:

  • NSScrollView С дополнительными видами внутри дорожки прокрутки
  • Любой подкласс NSScroller этого класса не объявляет себя совместимым с overlay-scroller
  • Все NSScroller , что не управляется NSScrollView

Вы должны проверить, выполняются ли все условия на вашем компьютере и в вашем приложении.

Вы также можете явно задать стиль прокрутки, используя NSScroller setScrollerStyle: , но, вероятно, лучше соблюдать настройки по умолчанию и настройки пользователя.