2
0
Эх сурвалжийг харах

解决滑动手势中断带来的计算失误

解决滑动手势中断带来的计算失误 [issue1170](https://github.com/CoderMJLee/MJRefresh/issues/1170)
sxdxzkq 7 жил өмнө
parent
commit
417708e579

+ 9 - 4
MJRefresh/Base/MJRefreshHeader.m

@@ -57,10 +57,15 @@ - (void)scrollViewContentOffsetDidChange:(NSDictionary *)change
         // 暂时保留
         if (self.window == nil) return;
         
-        // sectionheader停留解决
-        CGFloat insetT = - self.scrollView.mj_offsetY > _scrollViewOriginalInset.top ? - self.scrollView.mj_offsetY : _scrollViewOriginalInset.top;
-        insetT = insetT > self.mj_h + _scrollViewOriginalInset.top ? self.mj_h + _scrollViewOriginalInset.top : insetT;
-        self.scrollView.mj_insetT = insetT;
+        //解决滑动手势中断带来的计算失误
+        if (self.scrollView.isDecelerating) {
+            // sectionheader停留解决
+            CGFloat insetT = - self.scrollView.mj_offsetY > _scrollViewOriginalInset.top ? - self.scrollView.mj_offsetY : _scrollViewOriginalInset.top;
+            insetT = insetT > self.mj_h + _scrollViewOriginalInset.top ? self.mj_h + _scrollViewOriginalInset.top : insetT;
+            self.scrollView.mj_insetT = insetT;
+            
+            self.insetTDelta = _scrollViewOriginalInset.top - insetT;
+        }
         
         self.insetTDelta = _scrollViewOriginalInset.top - insetT;
         return;