Browse Source

Merge pull request #1304 from CoderMJLee/fix/state-of-autoFooter-is-not-correct-when-scrollView_s-pageEnabled

修复AutoFooter 在 scrollView 打开 page 模式时, 则会变成和回弹 Footer 一样, 需要回弹. 加入回弹逻辑
M了个J 6 years ago
parent
commit
54a841b312
1 changed files with 17 additions and 0 deletions
  1. 17 0
      MJRefresh/Base/MJRefreshAutoFooter.m

+ 17 - 0
MJRefresh/Base/MJRefreshAutoFooter.m

@@ -154,6 +154,23 @@ - (void)setState:(MJRefreshState)state
         }
         
         if (MJRefreshStateRefreshing == oldState) {
+            if (self.scrollView.pagingEnabled) {
+                CGPoint offset = self.scrollView.contentOffset;
+                offset.y -= self.scrollView.mj_insetB;
+                [UIView animateWithDuration:MJRefreshSlowAnimationDuration animations:^{
+                    self.scrollView.contentOffset = offset;
+                    
+                    if (self.endRefreshingAnimateCompletionBlock) {
+                        self.endRefreshingAnimateCompletionBlock();
+                    }
+                } completion:^(BOOL finished) {
+                    if (self.endRefreshingCompletionBlock) {
+                        self.endRefreshingCompletionBlock();
+                    }
+                }];
+                return;
+            }
+            
             if (self.endRefreshingCompletionBlock) {
                 self.endRefreshingCompletionBlock();
             }