ReadViewSDK/ReadViewDemo/ReadViewDemoUITests/Helpers/AccessibilityIdentifiers.swift
shenlei 1422461224 将 PDF 成品阅读控制器下沉为 RDPDFReaderView SDK,并修复手机横屏单页连续竖滑
SDK 化收尾:
- 新增 RDPDFReaderView 本地 pod(阅读容器、成品控制器、划线/注释、画笔、
  目录/设置面板、主题与持久化契约),Demo 精简为 PDFKit 页面提供者 + 持久化宿主
- Podfile/工程接入 RDPDFReaderView 与 SnapKit,示例书改用 PDF 阅读器示例文件

手机横屏单页竖滑修复:
- cell 高度改为宽度适配后的纸张高度(sizeForItemAt + 宿主按页提供纵横比),
  纵向超出一屏的内容由外层 collectionView 连续滚动承接,不再被裁掉
- 页面内部不再开启同向嵌套的兜底竖向拖动,修复外层滚动被吞、无法滚到下一页
- 修复 applyContentSize 先评估拖动开关后写 contentSize 的顺序缺陷
- 页码按视口中心命中 cell 计算,补 didEndDragging 兜底;旋转重锚点与
  transitionToPage 改用真实布局位置
- 横竖屏同为竖滑时也重建 cell 并刷新全部可见页的适配配置
- 横屏单页点击不再跳页,只显隐工具栏;翻页交给连续竖滑

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 18:49:44 +09:00

84 lines
4.5 KiB
Swift
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import Foundation
enum IDs {
static let demoStatus = "demo.status"
static let demoBooksTable = "demo.books.table"
static func demoBook(_ index: Int) -> String { "demo.book.\(index)" }
static let demoReaderState = "demo.reader.state"
static let readerBack = "epub.reader.back"
static let readerTitle = "epub.reader.title"
static let readerTopToolbar = "epub.reader.topToolbar"
static let readerBottomToolbar = "epub.reader.bottomToolbar"
static let readerContent = "epub.reader.content"
static let readerPaging = "epub.reader.paging"
static let readerBookmark = "epub.reader.bookmark"
static let readerToc = "epub.reader.toc"
static let readerBookmarks = "epub.reader.bookmarks"
static let readerHighlights = "epub.reader.highlights"
static let readerSettings = "epub.reader.settings"
static let readerTocPanel = "epub.reader.toc.panel"
static let readerTocTable = "epub.reader.toc.table"
static let readerTocNavBar = "epub.reader.toc.navbar"
static let readerBookmarksPanel = "epub.reader.bookmarks.panel"
static let readerBookmarksTable = "epub.reader.bookmarks.table"
static let readerBookmarksNavBar = "epub.reader.bookmarks.navbar"
static let readerSelectionText = "epub.reader.selection.text"
static let readerSelectionHighlight = "epub.reader.selection.高亮"
static let readerContentView = "epub.reader.content.view"
static let readerLoadingSpinner = "epub.reader.loadingSpinner"
static let readerHighlightsPanel = "epub.reader.highlights.panel"
static let readerHighlightsTable = "epub.reader.highlights.table"
static let readerHighlightsFilter = "epub.reader.highlights.filter"
static let readerHighlightsEmptyLabel = "epub.reader.highlights.empty"
static let readerHighlightsNavBar = "epub.reader.highlights.navbar"
static let readerBookmarksEmptyLabel = "epub.reader.bookmarks.empty"
static let readerNoteText = "epub.reader.note.text"
static let readerNoteActions = "epub.reader.note.actions"
static let readerNoteReturn = "epub.reader.note.return"
static let readerNoteOpen = "epub.reader.note.open"
// MARK: - Image PDF text selection and annotations
/// PDF demo currently retains the legacy EPUB content identifier for compatibility.
/// The text layer is the precise, image-coordinate based interaction surface.
static let pdfTextLayer = "pdf.reader.text.layer"
static let pdfOCRStatus = "pdf.reader.ocr.status"
/// PDF EPUB 使//
static let pdfSelectionMenuCopy = "复制"
static let pdfSelectionMenuHighlight = "高亮"
static let pdfSelectionMenuAnnotate = "注释"
static let pdfCopyStatus = "pdf.reader.copy.status"
static let pdfAnnotations = "pdf.reader.annotations"
static let pdfAnnotationsPanel = "pdf.reader.annotations.panel"
static let pdfAnnotationsTable = "pdf.reader.annotations.table"
static let pdfAnnotationsFilter = "pdf.reader.annotations.filter"
static let pdfAnnotationsEmpty = "pdf.reader.annotations.empty"
static func pdfAnnotationRow(_ id: String) -> String { "pdf.reader.annotations.row.\(id)" }
static let pdfAnnotationEditor = "pdf.reader.annotation.editor"
static let pdfAnnotationInput = "pdf.reader.annotation.input"
static let pdfAnnotationSave = "pdf.reader.annotation.save"
static let pdfAnnotationCancel = "pdf.reader.annotation.cancel"
static let readerSearch = "epub.reader.search"
static let searchBar = "epub.reader.search.bar"
static let searchField = "epub.reader.search.field"
static let searchPrevious = "epub.reader.search.previous"
static let searchNext = "epub.reader.search.next"
static let searchClose = "epub.reader.search.close"
static let searchCount = "epub.reader.search.count"
static let settingsScroll = "epub.reader.settings.scroll"
static let settingsBrightness = "epub.reader.settings.brightness"
static let settingsFontIncrease = "epub.reader.settings.font.increase"
static let settingsFontDecrease = "epub.reader.settings.font.decrease"
static let settingsFontValue = "epub.reader.settings.font.value"
static let settingsFontChoice = "epub.reader.settings.font.choice"
static let settingsLineHeight = "epub.reader.settings.lineHeight"
static let settingsDisplayType = "epub.reader.settings.displayType"
static let settingsDone = "epub.reader.settings.done"
static func settingsTheme(_ index: Int) -> String { "epub.reader.settings.theme.\(index)" }
}