2013-03-06 53 views
3

如何強制NSScrollView使用滾動條這樣的:力NSScrollView獨立使用NSScrollerStyleOverlay從輸入設備

enter image description here

從輸入設備

獨立,因爲現在如果計算機已有線鼠標連接或應用程序是在筆記本電腦上運行(的MacBook),它使用的滾動條是這樣的:

enter image description here

女巫總是可見。如果用戶更改系統首選項中的設置,可以實現我想要的結果。但是我需要得到這個結果而不改變任何東西。或者,也許有一些簡單的方法來使用自定義NSScrollers

隱藏滾動條將是相當可接受的結果,但是當我隱藏它們時,我有一些滾動問題。我使用自定義的NSClipView巫婆調整documentView調整其框架大小時居中。但是,當我調整幀大小,並且它滾動到中心,如果我滾動到任何地方它跳轉到左下角,然後按原樣運行。

回答

2

我使用表格視圖,我只是把這個代碼在awakeFormNib:

[[self.tableView enclosingScrollView] setScrollerStyle:NSScrollerStyleOverlay]; 

我也試圖隱藏滾動條但我不能滾動使用觸控板的內容(不使用鼠標的問題)。在另一個項目中,我有類似的表視圖與相同的設置和隱藏滾動不會導致任何問題。

+0

同樣適用於我。 – Omkar 2015-12-22 04:33:33

1
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(notify:) name:NSPreferredScrollerStyleDidChangeNotification object:nil]; 

- (void)notify:(NSNotification*) 
{ 
    __weak typeof(self) weakself = self; 
    dispatch_async(dispatch_get_main_queue(), ^{ 
     weakself.scrollView.scrollerStyle = NSScrollerStyleOverlay; 
    }); 
}