2012-02-20 2 views
7

Я хочу скрыть NSScroller s из NSScrollView. Я знаю методы setHasHorizontalScroller: и setHasVerticalScroller:. Однако, если я отключу скроллеры, прокрутка в этом направлении также будет отключена. Я бы хотел только скрыть скроллеры, сохраняя возможность прокрутки. Любые мысли по этому поводу?Скрыть скроллеры, оставив прокрутку самой включенной в NSScrollView

ответ

0

Вы проверили NSScrollView Class Reference?

[scrollView setHasVerticalScroller:NO]; 

этот метод не отключить скроллинг.

Если вы все еще не хотите использовать этот метод, вы можете также:

[scrollView setHorizontalScroller:nil]; 
+0

моего английский (Спасибо, rokjarc – 0xDE4E15B

+3

не работает... Установка любого из этих действий приводит к просмотру прокрутки, который больше не отвечает на события прокрутки для этого направления. – ipmcc

+0

Это решение работает. – WeZZard

7

Я был в состоянии сделать это, выполнив:

[labelsScrollView setHasHorizontalScroller:YES]; 
[[labelsScrollView horizontalScroller] setAlphaValue:0]; 
1

Я ищу ответ на этот так как установка hasVerticalScroller = false отключает прокрутку трекпада для меня. В то же время, мой ужасный хак использовать следующее в моем NSScrollView подкласса:

self.hasVerticalScroller = true 
self.scrollerInsets.right = -999999 

Скроллер технически видно, это просто путь от края представления. :(

0

Это мое решение от ответа Сэма выше:

[myNSScrollView setHasVerticalScroller:YES]; 
[_myNSScrollView setScrollerInsets:NSEdgeInsetsMake(0, 0, 0, -99999)]; 

Скроллер будет скрыт даже во время процесса прокрутки