У меня есть NSScrollView, для которого установлено значение:
MyNSScrollView.hasHorizontalScroller = YES;
MyNSScrollView.hasVerticalScroller = YES;
MyNSScrollView.autohidesScrollers = YES;
MyNSScrollView.scrollerStyle = NSScrollerStyleOverlay;
Я заметил, что когда трекпад не подключается к OS X и по умолчанию, NSScrollView
будет игнорировать мои настройки в коде и всегда показывать скроллеры:
Я могу только либо изменить свои системные настройки на «При прокрутке», либо установить hasHorizontalScroller
и т. д. на NO
, чтобы скрыть это, а позднее отключит прокрутку мышью, что не является тем результатом, который мне нужен.
По умолчанию (автоматически на основе мыши или трекпада) всегда будет отображаться скроллер, если у пользователя нет трекпада, даже если размер содержимого не превышает размер кадра. Но если у вас есть трекпад, это будет стиль наложения, который независимо от того, показывает скроллер или нет, он находится над содержимым.
Разница между ними заключается в том, что «устаревший» стиль будет занимать места в прокрутке. Это было бы проблемой, если бы вы использовали значение visiableRect
для расчета, или ваше содержимое должно оставаться определенным соотношением сторон через ограничения.
Есть ли способ принудительно скрыть их, не отключая?
hasHorizontalScroller
иhasVerticalScroller
наNO
. - person Willeke   schedule 12.06.2016