如何在滚动时在Tableview中显示滚动指示器,在不滚动时隐藏

问题描述 投票:1回答:1

我是MacOS的新手,我想在滚动时在NSTableview中显示滚动指示器,在不滚动时隐藏。我想要获得NSScroller的代表,所以我可以检测它何时滚动,然后隐藏/显示它。请帮忙

macos nstableview
1个回答
2
投票

根据NSTableView reference page

表视图显示在滚动视图中。

表视图本身不知道如何滚动。您必须将其放在滚动视图中才能滚动表格。如果你已经习惯了iOS和UIKit,那就不一样了; UITableView继承自UIScrollView,因此在该平台上,表视图是滚动视图。在MacOS项目中,如果在Xcode的nib或storyboard编辑器中将表插入到视图中,Xcode将实际插入包含表视图的滚动视图,这样您就已经拥有了所需的内容。如果您在代码中创建表,则还需要自己创建滚动视图。

看看NSScrollView,有一个名为autohidesScrollers的房产......

一个布尔值,指示滚动视图是否在不需要时自动隐藏其滚动条。

因此,要获得您要求的行为,您需要将滚动视图的autohidesScrollers属性设置为YES

当然,您也可以在storyboard编辑器中设置它,但是您需要再次查看滚动视图的选项,而不是表视图:

scroll view options

© www.soinside.com 2019 - 2024. All rights reserved.