2013-03-06 79 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; 
    }); 
}