Browse Source

修复AutoFooter 在 scrollView 打开 page 模式时, 则会变成和回弹 Footer 一样, 需要回弹. 加入回弹逻辑

Frank 6 years ago
parent
commit
763dc2b5dc
1 changed files with 17 additions and 0 deletions
  1. 17 0
      MJRefresh/Base/MJRefreshAutoFooter.m

+ 17 - 0
MJRefresh/Base/MJRefreshAutoFooter.m

@@ -127,6 +127,23 @@ - (void)setState:(MJRefreshState)state
         [self executeRefreshingCallback];
     } else if (state == MJRefreshStateNoMoreData || state == MJRefreshStateIdle) {
         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();
             }