瀏覽代碼

Update MJRefreshFooter.m

实际开发中,上拉刷新数据reload完毕之后会立即调用endRefresh,产生上拉刷新频繁调用,需要延时执行
Andy Shaw 10 年之前
父節點
當前提交
f317ea0bec
共有 1 個文件被更改,包括 10 次插入6 次删除
  1. 10 6
      MJRefreshExample/MJRefreshExample/MJRefresh/MJRefreshFooter.m

+ 10 - 6
MJRefreshExample/MJRefreshExample/MJRefresh/MJRefreshFooter.m

@@ -269,15 +269,19 @@ - (void)setState:(MJRefreshFooterState)state
             break;
             
         case MJRefreshFooterStateRefreshing:
+        {
             self.loadMoreButton.hidden = YES;
             self.noMoreLabel.hidden = YES;
             if (!self.stateHidden) self.stateLabel.hidden = NO;
-            if (self.refreshingBlock) {
-                self.refreshingBlock();
-            }
-            if ([self.refreshingTarget respondsToSelector:self.refreshingAction]) {
-                msgSend(msgTarget(self.refreshingTarget), self.refreshingAction, self);
-            }
+            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+                if (self.refreshingBlock) {
+                    self.refreshingBlock();
+                }
+                if ([self.refreshingTarget respondsToSelector:self.refreshingAction]) {
+                    msgSend(msgTarget(self.refreshingTarget), self.refreshingAction, self);
+                }
+            });
+        }
             break;
             
         case MJRefreshFooterStateNoMoreData: