跳转到内容

ScrollViewProxy

一个支持在视图层次结构中对可滚动视图进行编程滚动的代理值。

版本要求

iOS 14.0+ iPadOS 14.0+ Mac Catalyst 14.0+ macOS 11.0+ tvOS 14.0+ visionOS 1.0+ watchOS 7.0+

swift
struct ScrollViewProxy

概述

您不会直接创建 ScrollViewProxy 的实例。相反,您的 ScrollViewReader 在其 content 视图构建器中接收 ScrollViewProxy 的实例。您可以在此视图构建器中使用操作,例如按钮和手势处理程序或 onChange(of:perform:) 方法,以调用代理的 scrollTo(_:anchor:) 方法。

执行滚动

实例方法

scrollTo(_:anchor:)

扫描代理包含的所有滚动视图,寻找第一个具有标识符 id 的子视图,然后滚动到该视图。

swift
func scrollTo<ID>(
    _ id: ID,
    anchor: UnitPoint? = nil
) where ID : Hashable

参数

id

要滚动到的子视图的标识符。

anchor

滚动操作的对齐行为。

如果 anchornil ,则此方法找到标识视图的容器,并滚动最小量以使标识视图完全可见。

如果 anchor 不是 nil ,它定义了在识别的视图和滚动视图中对齐的点。例如,将 anchor 设置为 top 会将识别的视图的顶部对齐到滚动视图的顶部。同样,将 anchor 设置为 bottom 会将识别的视图的底部对齐到滚动视图的底部,依此类推。

基于 MIT 许可发布