From e11dbdf9a149244636fc2b74a63ff0d3c1a26850 Mon Sep 17 00:00:00 2001 From: "LiuHongfeng(GuJian)" Date: Mon, 17 Apr 2017 17:04:34 +0800 Subject: [PATCH 1/2] *[iOS] keep the code same with gitlab-ios-package --- .../Sources/Component/WXSliderComponent.m | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/ios/sdk/WeexSDK/Sources/Component/WXSliderComponent.m b/ios/sdk/WeexSDK/Sources/Component/WXSliderComponent.m index 4e72d2cf9d..f0310e5227 100644 --- a/ios/sdk/WeexSDK/Sources/Component/WXSliderComponent.m +++ b/ios/sdk/WeexSDK/Sources/Component/WXSliderComponent.m @@ -296,6 +296,15 @@ - (BOOL)_isItemViewVisiable:(UIView *)itemView - (void)scrollViewDidScroll:(UIScrollView *)scrollView { + [NSObject cancelPreviousPerformRequestsWithTarget:self]; + __weak typeof(self) weakSelf = self; + if (!weakSelf) + { + return; + } + //ensure that the end of scroll is fired. + [self performSelector:@selector(scrollViewDidEndScrollingAnimation:) withObject:nil afterDelay:0.3]; + UIView *itemView = nil; for (itemView in self.itemViews) { if ([self _isItemViewVisiable:itemView]) { @@ -308,9 +317,6 @@ - (void)scrollViewDidScroll:(UIScrollView *)scrollView if (self.delegate && [self.delegate respondsToSelector:@selector(sliderView:sliderViewDidScroll:)]) { [self.delegate sliderView:self sliderViewDidScroll:self.scrollView]; } - //[NSObject cancelPreviousPerformRequestsWithTarget:self]; - //ensure that the end of scroll is fired. - //[self performSelector:@selector(scrollViewDidEndScrollingAnimation:) withObject:nil afterDelay:0.3]; } - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView @@ -387,7 +393,7 @@ - (instancetype)initWithRef:(NSString *)ref type:(NSString *)type styles:(NSDict } _scrollable = attributes[@"scrollable"] ? [WXConvert BOOL:attributes[@"scrollable"]] : YES; - + if (attributes[@"offsetXAccuracy"]) { _offsetXAccuracy = [WXConvert CGFloat:attributes[@"offsetXAccuracy"]]; } @@ -489,7 +495,7 @@ - (void)willRemoveSubview:(WXComponent *)component WXSliderView *sliderView = (WXSliderView *)_view; [sliderView removeItemView:view]; [sliderView setCurrentIndex:0]; -} +}ggg - (void)updateAttributes:(NSDictionary *)attributes { @@ -509,7 +515,7 @@ - (void)updateAttributes:(NSDictionary *)attributes if (_autoPlay) { [self _startAutoPlayTimer]; - } + } } if (attributes[@"index"]) { @@ -594,7 +600,7 @@ - (void)_stopAutoPlayTimer - (void)_autoPlayOnTimer { WXSliderView *sliderView = (WXSliderView *)self.view; - + int indicatorCnt = 0; for (int i = 0; i < [self.childrenView count]; ++i) { if ([self.childrenView[i] isKindOfClass:[WXIndicatorView class]]) { From 92d91a05b72a7685831a48847e50bf6bcfff620e Mon Sep 17 00:00:00 2001 From: "LiuHongfeng(GuJian)" Date: Mon, 17 Apr 2017 17:36:51 +0800 Subject: [PATCH 2/2] *[iOS] remove start event and stop event from slider component. --- .../Sources/Component/WXSliderComponent.m | 55 ++----------------- 1 file changed, 6 insertions(+), 49 deletions(-) diff --git a/ios/sdk/WeexSDK/Sources/Component/WXSliderComponent.m b/ios/sdk/WeexSDK/Sources/Component/WXSliderComponent.m index f0310e5227..1077bc8a7d 100644 --- a/ios/sdk/WeexSDK/Sources/Component/WXSliderComponent.m +++ b/ios/sdk/WeexSDK/Sources/Component/WXSliderComponent.m @@ -31,8 +31,9 @@ @protocol WXSliderViewDelegate - (void)sliderView:(WXSliderView *)sliderView sliderViewDidScroll:(UIScrollView *)scrollView; - (void)sliderView:(WXSliderView *)sliderView didScrollToItemAtIndex:(NSInteger)index; -- (void)sliderView:(WXSliderView *)sliderView scrollViewDidStartScroll:(UIScrollView *)scrollView; -- (void)sliderView:(WXSliderView *)sliderView scrollViewDidStopScroll:(UIScrollView *)scrollView; + +@optional +- (void)sliderView:(WXSliderView *)sliderView scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView; @end @@ -44,7 +45,6 @@ @interface WXSliderView : UIView @property (nonatomic, strong) UIScrollView *scrollView; @property (nonatomic, strong) NSMutableArray *itemViews; @property (nonatomic, assign) NSInteger currentIndex; -@property (nonatomic, assign) BOOL isStartScroll; - (UIScrollView *)scrollView; - (void)insertItemView:(UIView *)view atIndex:(NSInteger)index; @@ -296,15 +296,6 @@ - (BOOL)_isItemViewVisiable:(UIView *)itemView - (void)scrollViewDidScroll:(UIScrollView *)scrollView { - [NSObject cancelPreviousPerformRequestsWithTarget:self]; - __weak typeof(self) weakSelf = self; - if (!weakSelf) - { - return; - } - //ensure that the end of scroll is fired. - [self performSelector:@selector(scrollViewDidEndScrollingAnimation:) withObject:nil afterDelay:0.3]; - UIView *itemView = nil; for (itemView in self.itemViews) { if ([self _isItemViewVisiable:itemView]) { @@ -336,8 +327,8 @@ - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL // called when setContentOffset/scrollRectVisible:animated: finishes. called from the performselector in scrollViewDidScroll if not animating. -(void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView { - if (self.delegate && [self.delegate respondsToSelector:@selector(sliderView:scrollViewDidStopScroll:)]) { - [self.delegate sliderView:self scrollViewDidStopScroll:scrollView]; + if (self.delegate && [self.delegate respondsToSelector:@selector(sliderView:scrollViewDidEndScrollingAnimation:)]) { + [self.delegate sliderView:self scrollViewDidEndScrollingAnimation:scrollView]; } } @@ -356,9 +347,6 @@ @interface WXSliderComponent ()