Преглед изворни кода

1.修改iOS Apex Drivers触底重复加载。

Pen Li пре 7 година
родитељ
комит
8ccd252c14
1 измењених фајлова са 7 додато и 1 уклоњено
  1. 7 1
      common/customUI/Refresh/Footer/JLRefreshFooter.m

+ 7 - 1
common/customUI/Refresh/Footer/JLRefreshFooter.m

@@ -130,6 +130,12 @@ CGFloat const JLRefreshFooterHeight = 30;
 
 - (void)scrollViewContentOffsetDidChange:(NSDictionary<NSKeyValueChangeKey,id> *)change {
     
+    CGPoint new = [[change objectForKey:NSKeyValueChangeNewKey] CGPointValue];
+    CGPoint old = [[change objectForKey:NSKeyValueChangeOldKey] CGPointValue];
+    if (new.y == old.y) {
+        return;
+    }
+    
     [super scrollViewContentOffsetDidChange:change];
 
     CGFloat offsetY = self.scrollView.jl_offsetY + self.scrollView.jl_height;
@@ -147,7 +153,7 @@ CGFloat const JLRefreshFooterHeight = 30;
     
     if (self.scrollView.jl_ContentHeight >= self.scrollView.jl_height) {
         
-        if (self.state != JLRefreshStateRefreshing && self.jl_y >= self.scrollView.jl_height && offsetY > self.jl_y) {
+        if (self.state != JLRefreshStateRefreshing && self.jl_y >= self.scrollView.jl_height && offsetY > self.jl_y && new.y > old.y) {
             // 触底就加载
             self.state = JLRefreshStateRefreshing;
         }