Repository: incubator-weex
Updated Branches:
  refs/heads/master 67d3f1dc6 -> e315e8ab3


[WEEX-328][iOS]ScrollComponent called all scrollview delegate
close #1142


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/e315e8ab
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/e315e8ab
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/e315e8ab

Branch: refs/heads/master
Commit: e315e8ab3aed5c430e2e4b19f95e43d65bfb6818
Parents: 67d3f1d
Author: yuchenghai <[email protected]>
Authored: Wed May 2 17:22:50 2018 +0800
Committer: acton393 <[email protected]>
Committed: Thu May 3 11:58:17 2018 +0800

----------------------------------------------------------------------
 .../Sources/Component/WXScrollerComponent.mm    | 35 ++++++++++++++++++++
 1 file changed, 35 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/e315e8ab/ios/sdk/WeexSDK/Sources/Component/WXScrollerComponent.mm
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Component/WXScrollerComponent.mm 
b/ios/sdk/WeexSDK/Sources/Component/WXScrollerComponent.mm
index 215d9ff..52bb962 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXScrollerComponent.mm
+++ b/ios/sdk/WeexSDK/Sources/Component/WXScrollerComponent.mm
@@ -620,6 +620,13 @@ WX_EXPORT_METHOD(@selector(resetLoadmore))
         NSDictionary *contentOffsetData = @{@"x":[NSNumber 
numberWithFloat:-scrollView.contentOffset.x / scaleFactor],@"y":[NSNumber 
numberWithFloat:-scrollView.contentOffset.y / scaleFactor]};
         [self fireEvent:@"scrollstart" 
params:@{@"contentSize":contentSizeData,@"contentOffset":contentOffsetData} 
domChanges:nil];
     }
+    
+    NSHashTable *delegates = [_delegates copy];
+    for (id<UIScrollViewDelegate> delegate in delegates) {
+        if ([delegate 
respondsToSelector:@selector(scrollViewWillBeginDragging:)]) {
+            [delegate scrollViewWillBeginDragging:scrollView];
+        }
+    }
 }
 
 - (void)scrollViewDidScroll:(UIScrollView *)scrollView
@@ -705,6 +712,13 @@ WX_EXPORT_METHOD(@selector(resetLoadmore))
         inset.bottom = 0;
     }
     [scrollView setContentInset:inset];
+    
+    NSHashTable *delegates = [_delegates copy];
+    for (id<UIScrollViewDelegate> delegate in delegates) {
+        if ([delegate 
respondsToSelector:@selector(scrollViewDidEndScrollingAnimation:)]) {
+            [delegate scrollViewDidEndScrollingAnimation:scrollView];
+        }
+    }
 }
 
 - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
@@ -717,6 +731,13 @@ WX_EXPORT_METHOD(@selector(resetLoadmore))
             [self fireEvent:@"scrollend" 
params:@{@"contentSize":contentSizeData,@"contentOffset":contentOffsetData} 
domChanges:nil];
         }
     }
+    
+    NSHashTable *delegates = [_delegates copy];
+    for (id<UIScrollViewDelegate> delegate in delegates) {
+        if ([delegate 
respondsToSelector:@selector(scrollViewDidEndDecelerating:)]) {
+            [delegate scrollViewDidEndDecelerating:scrollView];
+        }
+    }
 }
 
 - (void)scrollViewWillEndDragging:(UIScrollView *)scrollView 
withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint 
*)targetContentOffset
@@ -734,6 +755,13 @@ WX_EXPORT_METHOD(@selector(resetLoadmore))
             // drop up
         }
     }
+    
+    NSHashTable *delegates = [_delegates copy];
+    for (id<UIScrollViewDelegate> delegate in delegates) {
+        if ([delegate 
respondsToSelector:@selector(scrollViewWillEndDragging:withVelocity:targetContentOffset:)])
 {
+            [delegate scrollViewWillEndDragging:scrollView 
withVelocity:velocity targetContentOffset:targetContentOffset];
+        }
+    }
 }
 
 - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView 
willDecelerate:(BOOL)decelerate
@@ -757,6 +785,13 @@ WX_EXPORT_METHOD(@selector(resetLoadmore))
         _isScrolling = NO;
         [self performSelector:@selector(scrollViewDidEndDecelerating:) 
withObject:nil afterDelay:0.1];
     }
+    
+    NSHashTable *delegates = [_delegates copy];
+    for (id<UIScrollViewDelegate> delegate in delegates) {
+        if ([delegate 
respondsToSelector:@selector(scrollViewDidEndDragging:willDecelerate:)]) {
+            [delegate scrollViewDidEndDragging:scrollView 
willDecelerate:decelerate];
+        }
+    }
 }
 
 - (void)loadMoreIfNeed

Reply via email to