fix epub reader playback and trial navigation

This commit is contained in:
shen
2026-07-11 08:16:56 +08:00
parent d7fcda345d
commit 063a493b18
231 changed files with 435 additions and 36060 deletions
@@ -15,6 +15,18 @@ extension RDEPUBReaderController: RDEpubReaderDataSource, RDEpubReaderPageProvid
pageIdentifier(readerView: readerView, pageNum: index)
}
public func readerView(
_ readerView: RDEpubReaderView,
shouldPreloadPageAt index: Int
) -> Bool {
// 宿 UIView
guard index != trialWallPageIndex else { return false }
// /
//
//
return request(for: index)?.isFixedLayout != true
}
public func readerViewTopChrome(_ readerView: RDEpubReaderView) -> UIView? {
topToolView(readerView: readerView)
}
@@ -66,6 +78,7 @@ extension RDEPUBReaderController: RDEpubReaderDataSource, RDEpubReaderPageProvid
pageNumber: pageNum + 1,
totalPages: pageCountOfReaderView(readerView: readerView),
configuration: configuration,
contentInsets: readerContext.currentTextContentInsets(pageIndex: pageNum),
chapterCFIMap: resolvedPage.chapter.chapterOffsetMap.cfiMap,
chapterFragmentOffsets: resolvedPage.chapter.chapterOffsetMap.fragmentOffsets,
highlights: textHighlights(for: resolvedPage.page),
@@ -89,7 +102,8 @@ extension RDEPUBReaderController: RDEpubReaderDataSource, RDEpubReaderPageProvid
contentView.configureLoading(
pageNumber: pageNum + 1,
totalPages: pageCountOfReaderView(readerView: readerView),
configuration: configuration
configuration: configuration,
contentInsets: readerContext.currentTextContentInsets(pageIndex: pageNum)
)
return contentView
}
@@ -111,6 +125,7 @@ extension RDEPUBReaderController: RDEpubReaderDataSource, RDEpubReaderPageProvid
pageNumber: pageNum + 1,
totalPages: textBook.pages.count,
configuration: configuration,
contentInsets: readerContext.currentTextContentInsets(pageIndex: pageNum),
chapterCFIMap: textBook.chapterData(for: page.href)?.chapter.cfiMap,
chapterFragmentOffsets: textBook.chapterData(for: page.href)?.chapter.fragmentOffsets ?? [:],
highlights: textHighlights(for: page),