【问题标题】:Pagination support in NSScrollViewNSScrollView 中的分页支持
【发布时间】:2019-12-24 15:25:20
【问题描述】:

我正在尝试在 Mac OS 上创建一个视图,我希望能够通过在触控板上使用两个手指滑动手势或鼠标滚轮滚动来从一个页面滚动到另一个页面。这个功能是在 Cocoa 中实现的吗?

我注意到NSScrollView 中有一些分页支持,但我不知道如何通过滑动/滚动来触发它。有NSScrollView.pageScroll 属性,文档说明:

此属性的值是在逐页滚动时保持可见的文档视图的数量,以内容视图的坐标系表示。当用户在按住 Option 键的同时单击滚动箭头时使用此值。

不幸的是,文档已经过时,因为较新版本的 Mac OS 在其 UI 中不再有滚动箭头,因此您可以在按住 Option 键的同时单击任何内容。但是,我发现现在如果您单击滚动位置指示器之外的滚动条,就会触发此机制。

如果NSScrollView 本身不支持通过滑动进行分页,我正在考虑一种以编程方式触发上述分页机制的方法。你知道这个机制是如何触发的吗?使用NSView.scrollPoint 可能不是最好的主意,因为您会失去分页机制带来的漂亮动画效果。

【问题讨论】:

  • 问题是如何以编程方式向下/向上滚动一页?
  • 是的。有没有办法直接做到这一点,还是我需要使用 scrollPoint 方法,然后手动尝试重新创建动画?

标签: objective-c swift macos


【解决方案1】:

向下滚动页面:

[scrollView pageDown:self];

向上滚动页面:

[scrollView pageUp:self];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-17
    • 1970-01-01
    • 2021-03-01
    • 2017-07-04
    • 1970-01-01
    相关资源
    最近更新 更多