From dae2f4faae881fbf7557651fcd03b25c383704fa Mon Sep 17 00:00:00 2001 From: mengyanluo Date: Fri, 16 Apr 2021 15:51:13 +0800 Subject: [PATCH 1/2] feat(ios): pull header feature to set refresh time --- .../component/footerrefresh/HippyFooterRefreshManager.m | 9 +++++++++ ios/sdk/component/headerrefresh/HippyHeaderRefresh.m | 7 ------- .../component/headerrefresh/HippyHeaderRefreshManager.m | 9 +++++++++ ios/sdk/component/refresh/HippyRefresh.h | 1 + ios/sdk/component/refresh/HippyRefresh.m | 8 ++++++++ 5 files changed, 27 insertions(+), 7 deletions(-) diff --git a/ios/sdk/component/footerrefresh/HippyFooterRefreshManager.m b/ios/sdk/component/footerrefresh/HippyFooterRefreshManager.m index d1ea7881b3d..1e702441d69 100644 --- a/ios/sdk/component/footerrefresh/HippyFooterRefreshManager.m +++ b/ios/sdk/component/footerrefresh/HippyFooterRefreshManager.m @@ -41,6 +41,15 @@ @implementation HippyFooterRefreshManager } // clang-format on +// clang-format off +HIPPY_EXPORT_METHOD(collapsePullFooterWithOptions : (nonnull NSNumber *)reactTag options:(NSDictionary *)options) { + [self.bridge.uiManager addUIBlock:^(HippyUIManager *uiManager, NSDictionary *viewRegistry) { + HippyRefresh *refreshView = viewRegistry[reactTag]; + [refreshView refreshFinishWithOption:options]; + }]; +} +// clang-format on + // clang-format off HIPPY_EXPORT_METHOD(expandPullFooter : (nonnull NSNumber *)reactTag) { [self.bridge.uiManager addUIBlock:^(HippyUIManager *uiManager, NSDictionary *viewRegistry) { diff --git a/ios/sdk/component/headerrefresh/HippyHeaderRefresh.m b/ios/sdk/component/headerrefresh/HippyHeaderRefresh.m index 59cf90fab1c..e7b2e8c6d8e 100644 --- a/ios/sdk/component/headerrefresh/HippyHeaderRefresh.m +++ b/ios/sdk/component/headerrefresh/HippyHeaderRefresh.m @@ -84,11 +84,4 @@ - (void)setStatus:(HippyRefreshStatus)status { } } -- (void)refreshFinish { - self.status = HippyRefreshStatusFinishLoading; - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - self.status = HippyRefreshStatusIdle; - }); -} - @end diff --git a/ios/sdk/component/headerrefresh/HippyHeaderRefreshManager.m b/ios/sdk/component/headerrefresh/HippyHeaderRefreshManager.m index b27facc0a27..d0d80c41012 100644 --- a/ios/sdk/component/headerrefresh/HippyHeaderRefreshManager.m +++ b/ios/sdk/component/headerrefresh/HippyHeaderRefreshManager.m @@ -49,6 +49,15 @@ @implementation HippyHeaderRefreshManager } // clang-format on +// clang-format off +HIPPY_EXPORT_METHOD(collapsePullHeaderWithOptions : (nonnull NSNumber *)reactTag options:(NSDictionary *)options) { + [self.bridge.uiManager addUIBlock:^(HippyUIManager *uiManager, NSDictionary *viewRegistry) { + HippyRefresh *refreshView = viewRegistry[reactTag]; + [refreshView refreshFinishWithOption:options]; + }]; +} +// clang-format on + - (UIView *)view { return [[HippyHeaderRefresh alloc] init]; } diff --git a/ios/sdk/component/refresh/HippyRefresh.h b/ios/sdk/component/refresh/HippyRefresh.h index fe457f17ef1..3a6d80821f6 100644 --- a/ios/sdk/component/refresh/HippyRefresh.h +++ b/ios/sdk/component/refresh/HippyRefresh.h @@ -54,5 +54,6 @@ typedef NS_ENUM(NSUInteger, HippyRefreshStatus) { - (void)refresh; - (void)refreshFinish; +- (void)refreshFinishWithOption:(NSDictionary *)options; @end diff --git a/ios/sdk/component/refresh/HippyRefresh.m b/ios/sdk/component/refresh/HippyRefresh.m index 78bdce3c031..adfd733059e 100644 --- a/ios/sdk/component/refresh/HippyRefresh.m +++ b/ios/sdk/component/refresh/HippyRefresh.m @@ -60,4 +60,12 @@ - (void)refreshFinish { }); } +- (void)refreshFinishWithOption:(NSDictionary *)options { + self.status = HippyRefreshStatusFinishLoading; + CGFloat time = [options[@"time"] doubleValue] / 1000.f; + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(time * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + self.status = HippyRefreshStatusIdle; + }); +} + @end From 7b7746b55549466d51f1ce9aeae2ae63efa87235 Mon Sep 17 00:00:00 2001 From: mengyanluo Date: Fri, 16 Apr 2021 17:25:44 +0800 Subject: [PATCH 2/2] feat(ios): pull header feature to set refresh time --- ios/sdk/component/refresh/HippyRefresh.m | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/ios/sdk/component/refresh/HippyRefresh.m b/ios/sdk/component/refresh/HippyRefresh.m index adfd733059e..bbb493e213d 100644 --- a/ios/sdk/component/refresh/HippyRefresh.m +++ b/ios/sdk/component/refresh/HippyRefresh.m @@ -54,10 +54,7 @@ - (void)refresh { } - (void)refreshFinish { - self.status = HippyRefreshStatusFinishLoading; - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - self.status = HippyRefreshStatusIdle; - }); + [self refreshFinishWithOption:@{@"time": @(2000)}]; } - (void)refreshFinishWithOption:(NSDictionary *)options {