PagerKit

📄 SwiftUI 跨平台分页专家

SwiftUI 专业分页库,提供跨平台高级页面导航与深度自定义能力,适合构建复杂分页交互

收藏
8k
安装
2.6k
版本
1.0.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

PagerKit 是专为 SwiftUI 设计的高级分页导航库,通过声明式 API 构建灵活的页面视图。核心组件包括 PKPagesView(容器)、PKPage(单页)、PKPageBuilder(条件构建)和 ForEach(动态生成)。开发者通过嵌套结构定义页面层级,利用 PKPagesView 的闭包接收 PKPageBuilder 实现类似原生 SwiftUI 的条件渲染。动态页面生成依赖 ForEach 遍历 Identifiable 数据集合,每个数据项映射为 PKPage

显著优点

1. 跨平台一致性:支持 iOS 14+、macOS 14+、tvOS 14+、visionOS 1+、watchOS 10+,单一代码库覆盖全 Apple 生态
2. 深度自定义能力:提供 20+ 修饰符控制页面指示器(颜色、背景样式、布局方向)、导航方向(水平/垂直)、过渡动画及页脚内容

3. 状态管理完善:支持 @Binding 绑定当前页索引,提供手动/自动翻页事件回调、过渡起止监听,满足分析追踪与触觉反馈需求

4. 原生体验融合UIPageControlProgress 等原生 API 封装、平台差异化处理(#if os(...))确保系统级一致性

5. 声明式架构PKPageBuilder 模式与 SwiftUI 设计哲学契合,条件逻辑(if/else)编译期安全

潜在局限

  • 版本门槛较高:macOS 14.0+ 限制较新,旧系统项目需评估兼容性
  • 学习曲线:修饰符数量庞大(如 .pkPageControlIndicatorPreferredCurrentPageIndicatorImage),需查阅文档确认平台可用性
  • 生态局限:专注 Apple 平台,无 Android/跨平台方案
  • 自定义复杂度:深度自定义时需注意 UIImage vs Image 等平台类型差异

适合人群

  • 需构建引导页、轮播图、内容浏览器的 SwiftUI 开发者
  • 追求原生平台体验与品牌视觉统一的跨平台项目团队
  • 需精细控制分页状态与交互事件的中高级 SwiftUI 工程师

常规风险

  • 平台条件编译遗漏:未使用 #if os(...) 包裹平台特有修饰符将导致编译失败
  • 状态绑定缺失:未绑定 pkCurrentPageIndex 时无法程序化控制页面或响应外部状态变化
  • 动态生成错误ForEach 数据未遵循 Identifiable 协议或 ID 冲突引发视图重建异常
  • 自动播放配置.pkPageDuration 应用于 PKPage 而非 PKPagesView,位置错误导致功能失效

PagerKit 内容

references文件夹
手动下载zip · 14.8 kB
_index.mdtext/markdown
请选择文件