首页 > 解决方案 > 滚动时如何在 NSTableview 中显示滚动指示器,不滚动时隐藏

问题描述

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

标签: macosnstableview

解决方案


根据NSTableView 参考页

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

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

查看NSScrollView,有一个名为的属性autohidesScrollers是......

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

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

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

滚动视图选项


推荐阅读