#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: , но, вероятно, лучше соблюдать настройки по умолчанию и настройки пользователя.