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
滚动操作的对齐行为。
如果 anchor 是 nil ,则此方法找到标识视图的容器,并滚动最小量以使标识视图完全可见。
如果 anchor 不是 nil ,它定义了在识别的视图和滚动视图中对齐的点。例如,将 anchor 设置为 top 会将识别的视图的顶部对齐到滚动视图的顶部。同样,将 anchor 设置为 bottom 会将识别的视图的底部对齐到滚动视图的底部,依此类推。