From 7ab063d5c658143b5bce7ca8e5ae9bfc700bb1d8 Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期一, 01 二月 2021 18:22:29 +0800 Subject: [PATCH] 2021-02-01 1.更新 --- Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Venders/MJRefresh/MJRefresh/Base/MJRefreshAutoFooter.m | 29 +++++++++++++++++++++++++---- 1 files changed, 25 insertions(+), 4 deletions(-) diff --git a/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Venders/MJRefresh/Base/MJRefreshAutoFooter.m b/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Venders/MJRefresh/MJRefresh/Base/MJRefreshAutoFooter.m similarity index 79% rename from Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Venders/MJRefresh/Base/MJRefreshAutoFooter.m rename to Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Venders/MJRefresh/MJRefresh/Base/MJRefreshAutoFooter.m index fd1687f..207df04 100644 --- a/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Venders/MJRefresh/Base/MJRefreshAutoFooter.m +++ b/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Venders/MJRefresh/MJRefresh/Base/MJRefreshAutoFooter.m @@ -9,6 +9,8 @@ #import "MJRefreshAutoFooter.h" @interface MJRefreshAutoFooter() +/** 涓�涓柊鐨勬嫋鎷� */ +@property (assign, nonatomic, getter=isOneNewPan) BOOL oneNewPan; @end @implementation MJRefreshAutoFooter @@ -53,6 +55,9 @@ // 璁剧疆涓洪粯璁ょ姸鎬� self.automaticallyRefresh = YES; + + // 榛樿鏄綋offset杈惧埌鏉′欢灏卞彂閫佽姹傦紙鍙繛缁級 + self.onlyRefreshPerDrag = NO; } - (void)scrollViewContentSizeDidChange:(NSDictionary *)change @@ -89,7 +94,8 @@ if (self.state != MJRefreshStateIdle) return; - if (_scrollView.panGestureRecognizer.state == UIGestureRecognizerStateEnded) {// 鎵嬫澗寮� + UIGestureRecognizerState panState = _scrollView.panGestureRecognizer.state; + if (panState == UIGestureRecognizerStateEnded) {// 鎵嬫澗寮� if (_scrollView.mj_insetT + _scrollView.mj_contentH <= _scrollView.mj_h) { // 涓嶅涓�涓睆骞� if (_scrollView.mj_offsetY >= - _scrollView.mj_insetT) { // 鍚戜笂鎷� [self beginRefreshing]; @@ -99,7 +105,18 @@ [self beginRefreshing]; } } + } else if (panState == UIGestureRecognizerStateBegan) { + self.oneNewPan = YES; } +} + +- (void)beginRefreshing +{ + if (!self.isOneNewPan && self.isOnlyRefreshPerDrag) return; + + [super beginRefreshing]; + + self.oneNewPan = NO; } - (void)setState:(MJRefreshState)state @@ -107,9 +124,13 @@ MJRefreshCheckState if (state == MJRefreshStateRefreshing) { - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - [self executeRefreshingCallback]; - }); + [self executeRefreshingCallback]; + } else if (state == MJRefreshStateNoMoreData || state == MJRefreshStateIdle) { + if (MJRefreshStateRefreshing == oldState) { + if (self.endRefreshingCompletionBlock) { + self.endRefreshingCompletionBlock(); + } + } } } -- Gitblit v1.8.0