From 158b8db646bc57dc85a9eee9086882d99bff1dc1 Mon Sep 17 00:00:00 2001 From: anlicheng <244108715@qq.com> Date: Wed, 19 Feb 2025 23:35:16 +0800 Subject: [PATCH] fix --- dimensionhub/Views/IndexView.swift | 40 ++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/dimensionhub/Views/IndexView.swift b/dimensionhub/Views/IndexView.swift index 16dccf5..a131852 100644 --- a/dimensionhub/Views/IndexView.swift +++ b/dimensionhub/Views/IndexView.swift @@ -82,19 +82,34 @@ struct IndexView: View { } .background(GeometryReader { geometry in Color.clear.onChange(of: geometry.frame(in: .global).minY) {_, offset in - let contentHeight = geometry.size.height - let scrollViewHeight = UIScreen.main.bounds.height - - // 判断是否滑动到底部 - if offset + contentHeight > scrollViewHeight - 50 { - print("call me here11") - Task { - await self.loadMoreUpdateDramas() + + } + }) + + Rectangle() + .frame(height: 0) + .background(GeometryReader { + geometry in + Color.clear.onChange(of: geometry.frame(in: .global).minY) {_, offset in + let frame = geometry.frame(in: .global) + let screenBounds = UIScreen.main.bounds + /* + if frame.intersects(screenBounds) { + print("call me here11") + } + */ + if screenBounds.height - frame.minY > 50 { + print("call me here") + Task { + await self.loadMoreUpdateDramas() + } } } - } - - }) + }) + + if self.isLoading { + ProgressView() + } } } .task { @@ -108,12 +123,11 @@ struct IndexView: View { self.dramas = result.dramas self.showUpdateDramas = Self.yes(updateDramas: result.updateDramas) } - - } } + @MainActor private func loadMoreUpdateDramas() async { guard !self.isLoading else { return