完善搜索定位与内存监测回归验证
本次提交围绕搜索链路的稳定性、定位恢复体验以及长章节内存优化的验证能力进行了补强。 主要改动: 1. 调整阅读器搜索栏、搜索协调器与定位恢复逻辑,改善搜索结果跳转、状态同步与相关 UI 行为。 2. 补充内存探针接入点与上下文记录,便于跟踪阅读过程中的内存占用变化。 3. 更新 RDURLReaderController、ReaderContext 与工具视图相关实现,使调试与观测链路更完整。 4. 新增 MemoryFootprintTests,并同步更新 DemoReaderState 与 SearchTests,用 UI 测试覆盖搜索与内存相关回归场景。
This commit is contained in:
@@ -57,12 +57,27 @@ extension RDReaderView {
|
||||
}
|
||||
|
||||
func isHitView(_ hitView: UIView?, inside toolView: UIView, point: CGPoint) -> Bool {
|
||||
if toolView.frame.contains(point) {
|
||||
if let hitView, hitView === toolView || hitView.isDescendant(of: toolView) {
|
||||
return true
|
||||
}
|
||||
|
||||
guard let hitView else { return false }
|
||||
return hitView === toolView || hitView.isDescendant(of: toolView)
|
||||
if toolView.frame.contains(point) {
|
||||
// For search bar views, only consider the hit inside the visible
|
||||
// panel area. Taps on the dimmed scrim should pass through to
|
||||
// the reader content to allow chrome toggling. Touches that
|
||||
// resolved to a search bar subview (e.g. the accessibility-only
|
||||
// navigation buttons outside the panel) are already claimed by
|
||||
// the descendant check above.
|
||||
if let searchBarView = toolView as? RDEPUBReaderSearchBarView {
|
||||
let panelPoint = convert(point, to: searchBarView.panelView)
|
||||
if !searchBarView.panelView.point(inside: panelPoint, with: nil) {
|
||||
return false
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
enum ToolViewPosition {
|
||||
|
||||
Reference in New Issue
Block a user