PagerKit

📄 SwiftUI 跨平台分页专家

SwiftUI 跨平台分页库,提供高度可定制的页面指示器与导航行为,支持 iOS/macOS/tvOS/visionOS/watchOS,适合需要原生级分页体验的开发者。

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

使用说明

核心用法

PagerKit 是专为 SwiftUI 设计的声明式分页库,通过 PKPagesView 容器配合 PKPage 定义页面,支持静态页面枚举与动态数据驱动(ForEach)两种模式。开发者可通过链式修饰符精细控制导航方向(水平/垂直)、页面指示器样式(颜色、图像、背景、方向)、自动轮播时长及页脚自定义。状态绑定采用 @Binding 实现程序化跳转,事件回调覆盖手动/自动切换、过渡起止等全生命周期。

显著优点

  • 跨平台一致性:单一 API 覆盖 iOS 14+/iPadOS 14+/macOS 14+/tvOS 14+/visionOS 1+/watchOS 10+,大幅降低多平台适配成本
  • 声明式架构:完全遵循 SwiftUI 设计范式,PKPageBuilder 支持条件渲染与动态内容,代码可维护性高
  • 深度可定制:从指示器图像到过渡动画均可定制,且支持平台专属差异化配置(#if os(...)
  • 事件感知完善:提供方向感知的手动切换回调、自动轮播事件及过渡状态监听,便于埋点与业务逻辑注入

潜在局限

  • 系统版本门槛:macOS 需 14.0+ 起,老旧系统无法使用;部分特性(如 UIPageControlProgress)存在平台独占限制
  • 生态依赖风险:第三方库存在维护不确定性,官方文档托管于个人域名,长期支持存疑
  • 学习成本:修饰符数量庞大,初学者需时间熟悉 pkPageControlIndicator* 等系列 API 的层级关系
  • Swift 版本锁定:强制 Swift 5.9+,遗留项目升级存在编译器适配成本

适合人群

  • 需为 SwiftUI 应用快速实现类 UIPageViewController 体验的 iOS/macOS 开发者
  • 追求跨平台代码复用、拒绝为多端分别维护分页逻辑的团队
  • 对页面指示器有品牌定制需求(自定义图像、垂直布局、动态背景)的产品项目
  • 希望以原生 SwiftUI 方式处理分页状态与事件,避免 UIKit 桥接的开发者

常规风险

  • API 变动风险:个人开发者维护的库可能出现破坏性更新,建议锁定 minor 版本并通过 SPM 精确引用
  • 平台差异陷阱UIImageImageUIPageControlProgress 等平台专属类型易引发编译期或运行时错误,需严格遵循条件编译
  • 状态同步异常:未正确绑定 pkCurrentPageIndex 可能导致手势与程序化跳转状态不一致
  • 可访问性遗漏:自定义指示器图像需手动补充 accessibilityLabel,否则 VoiceOver 体验降级
  • 自动轮播副作用:未妥善处理生命周期(如页面不可见时停止定时器)可能导致内存泄漏或异常跳转

PagerKit 内容

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