docs: 同步 Doc 文档与当前代码状态
- 更新模块文件数(EPUBCore 31+2, EPUBTextRendering 13, ReaderView 5, EPUBUI 19) - 更新 Swift 版本(5.10)、iOS 版本(15.0)、行数等基本信息 - 补充新增文件文档(TextAnchor, RenderRequest, WebViewDebug, AssetRepository, TextIndexTable, TextPerformanceSampler, ChapterData, PageInteractionController 等) - 更新 RDEPUBLocation 模型(新增 rangeAnchor 字段) - 更新 RDEPUBReaderConfiguration(13 项配置)、Delegate 签名、Persistence(8 方法) - 修正 RDURLReaderController 归属(ReaderView → EPUBUI) - 移除过时的 LegacyRDReaderController 引用 - 标记 SS→RD 命名迁移为已完成
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
## 1. 范围与目标
|
||||
|
||||
- 代码范围:`Sources/RDReaderView/` 根目录(6 个 Swift 文件)
|
||||
- 代码范围:`Sources/RDReaderView/ReaderView/`(5 个 Swift 文件)
|
||||
- 目标:说明分页阅读器容器如何管理四种显示模式、DataSource/Delegate 协议、翻页交互、工具栏动画、双屏适配和 RTL 支持。
|
||||
- 主链路关键词:`RDReaderDataSource -> reloadData -> DisplayType 切换 -> 翻页/滚动 -> RDReaderDelegate.pageNum -> 工具栏显隐`。
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
### 2.1 核心容器 `RDReaderView`
|
||||
|
||||
- 文件:`Sources/RDReaderView/RDReaderView.swift`(~717 行)
|
||||
- 文件:`Sources/RDReaderView/ReaderView/RDReaderView.swift`(~1219 行)
|
||||
- 入口方法:`reloadData()`
|
||||
- 职责:
|
||||
- 管理四种显示模式的视图层级切换
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
### 2.2 自定义布局 `RDReaderFlowLayout`
|
||||
|
||||
- 文件:`Sources/RDReaderView/RDReaderFlowLayout.swift`(~387 行)
|
||||
- 文件:`Sources/RDReaderView/ReaderView/RDReaderFlowLayout.swift`(~375 行)
|
||||
- 职责:
|
||||
- 继承 `UICollectionViewFlowLayout`,为三种滚动模式提供布局计算
|
||||
- 水平滚动:全屏宽 item,pagingEnabled
|
||||
@@ -33,7 +33,7 @@
|
||||
|
||||
### 2.3 内容 Cell `RDReaderContentCell`
|
||||
|
||||
- 文件:`Sources/RDReaderView/RDReaderContentCell.swift`(~37 行)
|
||||
- 文件:`Sources/RDReaderView/ReaderView/RDReaderContentCell.swift`(~55 行)
|
||||
- 职责:
|
||||
- `UICollectionViewCell` 子类,作为内容视图的薄壳宿主
|
||||
- `containerView` 属性 setter 自动移除旧视图、添加新视图
|
||||
@@ -41,7 +41,7 @@
|
||||
|
||||
### 2.4 页面子控制器 `RDReaderPageChildViewController`
|
||||
|
||||
- 文件:`Sources/RDReaderView/RDReaderPageChildViewController.swift`(~65 行)
|
||||
- 文件:`Sources/RDReaderView/ReaderView/RDReaderPageChildViewController.swift`(~89 行)
|
||||
- 职责:
|
||||
- 仅用于 pageCurl 模式,作为 `UIPageViewController` 的子控制器
|
||||
- 持有 `contentView: UIView?` 和 `pageNum: Int`
|
||||
@@ -49,21 +49,11 @@
|
||||
|
||||
### 2.5 手势控制器 `RDReaderGestureController`
|
||||
|
||||
- 文件:`Sources/RDReaderView/RDReaderGestureController.swift`(~42 行)
|
||||
- 文件:`Sources/RDReaderView/ReaderView/RDReaderGestureController.swift`(~58 行)
|
||||
- 职责:
|
||||
- 当前为占位组件,存储 topToolView / bottomToolView 引用
|
||||
- 实际手势逻辑在 `RDReaderView.tapCenter()` 中实现
|
||||
|
||||
### 2.6 URL 入口 `RDURLReaderController`
|
||||
|
||||
- 文件:`Sources/RDReaderView/RDURLReaderController.swift`(~105 行)
|
||||
- 职责:
|
||||
- 最简入口:传入 URL 即可打开书籍
|
||||
- `.epub` 扩展名 → 创建 `RDEPUBReaderController(epubURL:configuration:)`
|
||||
- 其他扩展名 → 使用 `RDPlainTextBookBuilder` 构建 `RDEPUBTextBook`,然后创建 `RDEPUBReaderController(textBook:bookIdentifier:title:textFileURL:configuration:)`
|
||||
- 分页失败时回退到纯 `UITextView` 展示(尝试 UTF-8 → GBK → GB2312 解码)
|
||||
- 导航栏标题设为文件名(去掉扩展名)
|
||||
|
||||
## 3. 主流程(代码级)
|
||||
|
||||
### 3.1 协议定义
|
||||
|
||||
Reference in New Issue
Block a user