【问题标题】:How to show scroller indicator in NSTableview when scrolling , hide when not scrolling滚动时如何在 NSTableview 中显示滚动条指示器,不滚动时隐藏
【发布时间】:2019-02-22 05:34:14
【问题描述】:

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

【问题讨论】:

  • 一旦你在结束滚动后隐藏它,那么它怎么可能再次滚动呢?
  • 我的意思是隐藏滚动指示器,知道吗?@Nikunj Kumbhani
  • 您要覆盖系统偏好设置中的用户首选项吗?
  • 如果它有效,当然

标签: macos nstableview


【解决方案1】:

根据NSTableView reference page:

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

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多