SnapToScroll:SwiftUI水平滚动快照容器
项目名称:hstack-snap-to-scroll
项目概述
SnapToScroll
是一个用于SwiftUI的容器视图,它提供了一个水平滚动快照的功能。用户可以通过简单的三步集成这个功能到自己的项目中。这个库允许开发者通过HStackSnap
和.snapAlignmentHelper
来实现元素的水平对齐和滚动。
快速开始
导入
SnapToScroll
模块。将
HStack
替换为HStackSnap
。为你的视图添加
.snapAlignmentHelper
。
示例代码:
更多示例可以在SnapToScrollDemo/ContentView.swift
中找到。
配置
HStackSnap
提供了两个可定制的属性:
alignment
:定义元素的排列方式,可以是leading(CGFloat)
或center(CGFloat)
。coordinateSpace
:设置自定义的坐标空间名称,适用于多个不同大小的HStackSnap
。
.snapAlignmentHelper
提供了两个选项:
id
:必需的,为元素提供一个唯一的ID。coordinateSpace
:与HStackSnap
中的coordinateSpace
相同。
限制
HStackSnap
目前仅适用于静态内容。
工作原理
在渲染时,HStackSnap
读取每个子元素的框架数据,并计算每个元素应该使用的scrollOffset
。然后在DragGesture.onEnded
时,计算最近的快照位置,并将滚动偏移设置到该点。
更多细节可以在HStackSnap.swift
和Views/HStackSnapCore.swift
中查看。
或许喜欢
Flow:SwiftUI中的流式布局视图排列工具
Flow是一个SwiftUI布局工具,用于按流式排列视图,支持自定义对齐和间距,适用于标签集合等场景,并支持动画变换。
最近更新 2024-12-09
SwiftUIPager:SwiftUI原生组件构建的分页器
SwiftUIPager是一个用SwiftUI构建的分页器组件,支持垂直和水平分页,视图回收,自定义UI和动画效果,适用于iOS和macOS应用。
最近更新 2024-12-10