From bb93a312079767d25d2cd556d34a0ff56b119d1a Mon Sep 17 00:00:00 2001 From: yaowei Date: Mon, 25 Jan 2021 12:42:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D-=20(void)setupCustomCell:(UI?= =?UTF-8?q?CollectionViewCell=20*)cell=20forIndex:(NSInteger)index=20cycle?= =?UTF-8?q?ScrollView:(SDCycleScrollView=20*)view=E4=B8=AD=E7=9A=84index?= =?UTF-8?q?=E4=B8=8D=E5=87=86=E7=A1=AE=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xcschemes/xcschememanagement.plist | 19 ++++ .../xcschemes/xcschememanagement.plist | 14 +++ .../UserInterfaceState.xcuserstate | Bin 0 -> 31009 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 21 ++++ .../Lib/SDCycleScrollView/SDCycleScrollView.m | 91 ++++++++++-------- 5 files changed, 104 insertions(+), 41 deletions(-) create mode 100644 Pods/Pods.xcodeproj/xcuserdata/yw.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 SDCycleScrollView.xcodeproj/xcuserdata/yw.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 SDCycleScrollView.xcworkspace/xcuserdata/yw.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 SDCycleScrollView.xcworkspace/xcuserdata/yw.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist diff --git a/Pods/Pods.xcodeproj/xcuserdata/yw.xcuserdatad/xcschemes/xcschememanagement.plist b/Pods/Pods.xcodeproj/xcuserdata/yw.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 00000000..cf98911c --- /dev/null +++ b/Pods/Pods.xcodeproj/xcuserdata/yw.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,19 @@ + + + + + SchemeUserState + + Pods-SDCycleScrollView.xcscheme_^#shared#^_ + + orderHint + 2 + + SDWebImage.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/SDCycleScrollView.xcodeproj/xcuserdata/yw.xcuserdatad/xcschemes/xcschememanagement.plist b/SDCycleScrollView.xcodeproj/xcuserdata/yw.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 00000000..c0e853a9 --- /dev/null +++ b/SDCycleScrollView.xcodeproj/xcuserdata/yw.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + SDCycleScrollView.xcscheme_^#shared#^_ + + orderHint + 1 + + + + diff --git a/SDCycleScrollView.xcworkspace/xcuserdata/yw.xcuserdatad/UserInterfaceState.xcuserstate b/SDCycleScrollView.xcworkspace/xcuserdata/yw.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..98e50287aac73dadb68d46a9e0651641b0d0ddee GIT binary patch literal 31009 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 literal 0 HcmV?d00001 diff --git a/SDCycleScrollView.xcworkspace/xcuserdata/yw.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/SDCycleScrollView.xcworkspace/xcuserdata/yw.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist new file mode 100644 index 00000000..e1bb4eea --- /dev/null +++ b/SDCycleScrollView.xcworkspace/xcuserdata/yw.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -0,0 +1,21 @@ + + + + + + + + + + + diff --git a/SDCycleScrollView/Lib/SDCycleScrollView/SDCycleScrollView.m b/SDCycleScrollView/Lib/SDCycleScrollView/SDCycleScrollView.m index 68741e88..172738de 100644 --- a/SDCycleScrollView/Lib/SDCycleScrollView/SDCycleScrollView.m +++ b/SDCycleScrollView/Lib/SDCycleScrollView/SDCycleScrollView.m @@ -41,8 +41,14 @@ NSString * const ID = @"SDCycleScrollViewCell"; @interface SDCycleScrollView () - - +{ + struct DelegateHas{//由于考虑到自动轮播,会经常性使用respondsToSelector,因此使用结构体进行寄存respondsToSelector的结果 + unsigned int didSelectItemAtIndex : 1; + unsigned int didScrollToIndex : 1; + unsigned int willDisplayCell : 1; + unsigned int customizeCell : 1; + }; +} @property (nonatomic, weak) UICollectionView *mainView; // 显示图片的collectionView @property (nonatomic, weak) UICollectionViewFlowLayout *flowLayout; @property (nonatomic, strong) NSArray *imagePathsGroup; @@ -52,6 +58,8 @@ @interface SDCycleScrollView () )delegate { _delegate = delegate; - - if ([self.delegate respondsToSelector:@selector(customCollectionViewCellClassForCycleScrollView:)] && [self.delegate customCollectionViewCellClassForCycleScrollView:self]) { - [self.mainView registerClass:[self.delegate customCollectionViewCellClassForCycleScrollView:self] forCellWithReuseIdentifier:ID]; - }else if ([self.delegate respondsToSelector:@selector(customCollectionViewCellNibForCycleScrollView:)] && [self.delegate customCollectionViewCellNibForCycleScrollView:self]) { - [self.mainView registerNib:[self.delegate customCollectionViewCellNibForCycleScrollView:self] forCellWithReuseIdentifier:ID]; + + _delegateHas.customizeCell = 0; + if (delegate && [delegate respondsToSelector:@selector(customCollectionViewCellClassForCycleScrollView:)] && [delegate customCollectionViewCellClassForCycleScrollView:self]) { + _delegateHas.customizeCell = 1; + [self.mainView registerClass:[delegate customCollectionViewCellClassForCycleScrollView:self] forCellWithReuseIdentifier:ID]; + }else if(delegate && [delegate respondsToSelector:@selector(customCollectionViewCellNibForCycleScrollView:)] && [delegate customCollectionViewCellNibForCycleScrollView:self]){ + _delegateHas.customizeCell = 1; + [self.mainView registerNib:[delegate customCollectionViewCellNibForCycleScrollView:self] forCellWithReuseIdentifier:ID]; } + _delegateHas.didSelectItemAtIndex = delegate && [delegate respondsToSelector:@selector(cycleScrollView:didSelectItemAtIndex:)]; + _delegateHas.didScrollToIndex = delegate && [delegate respondsToSelector:@selector(cycleScrollView:didScrollToIndex:)]; + _delegateHas.willDisplayCell = delegate && [delegate respondsToSelector:@selector(setupCustomCell:forIndex:cycleScrollView:)]; } - (void)setPlaceholderImage:(UIImage *)placeholderImage @@ -568,58 +582,52 @@ - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSe - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { - SDCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:ID forIndexPath:indexPath]; - + UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:ID forIndexPath:indexPath];//SDCollectionViewCell + return cell; +} +- (void)collectionView:(UICollectionView *)collectionView willDisplayCell:(UICollectionViewCell *)cell forItemAtIndexPath:(NSIndexPath *)indexPath{ long itemIndex = [self pageControlIndexWithCurrentCellIndex:indexPath.item]; - - if ([self.delegate respondsToSelector:@selector(setupCustomCell:forIndex:cycleScrollView:)] && - [self.delegate respondsToSelector:@selector(customCollectionViewCellClassForCycleScrollView:)] && [self.delegate customCollectionViewCellClassForCycleScrollView:self]) { - [self.delegate setupCustomCell:cell forIndex:itemIndex cycleScrollView:self]; - return cell; - }else if ([self.delegate respondsToSelector:@selector(setupCustomCell:forIndex:cycleScrollView:)] && - [self.delegate respondsToSelector:@selector(customCollectionViewCellNibForCycleScrollView:)] && [self.delegate customCollectionViewCellNibForCycleScrollView:self]) { - [self.delegate setupCustomCell:cell forIndex:itemIndex cycleScrollView:self]; - return cell; + if (_delegateHas.customizeCell) {//自定义cell + if (_delegateHas.willDisplayCell) { + [_delegate setupCustomCell:cell forIndex:itemIndex cycleScrollView:self]; + } + return; } - NSString *imagePath = self.imagePathsGroup[itemIndex]; - + SDCollectionViewCell *systemCell = (SDCollectionViewCell *)cell; if (!self.onlyDisplayText && [imagePath isKindOfClass:[NSString class]]) { if ([imagePath hasPrefix:@"http"]) { - [cell.imageView sd_setImageWithURL:[NSURL URLWithString:imagePath] placeholderImage:self.placeholderImage]; + [systemCell.imageView sd_setImageWithURL:[NSURL URLWithString:imagePath] placeholderImage:self.placeholderImage]; } else { UIImage *image = [UIImage imageNamed:imagePath]; if (!image) { image = [UIImage imageWithContentsOfFile:imagePath]; } - cell.imageView.image = image; + systemCell.imageView.image = image; } } else if (!self.onlyDisplayText && [imagePath isKindOfClass:[UIImage class]]) { - cell.imageView.image = (UIImage *)imagePath; + systemCell.imageView.image = (UIImage *)imagePath; } if (_titlesGroup.count && itemIndex < _titlesGroup.count) { - cell.title = _titlesGroup[itemIndex]; + systemCell.title = _titlesGroup[itemIndex]; } - - if (!cell.hasConfigured) { - cell.titleLabelBackgroundColor = self.titleLabelBackgroundColor; - cell.titleLabelHeight = self.titleLabelHeight; - cell.titleLabelTextAlignment = self.titleLabelTextAlignment; - cell.titleLabelTextColor = self.titleLabelTextColor; - cell.titleLabelTextFont = self.titleLabelTextFont; - cell.hasConfigured = YES; - cell.imageView.contentMode = self.bannerImageViewContentMode; - cell.clipsToBounds = YES; - cell.onlyDisplayText = self.onlyDisplayText; + if (!systemCell.hasConfigured) { + systemCell.titleLabelBackgroundColor = self.titleLabelBackgroundColor; + systemCell.titleLabelHeight = self.titleLabelHeight; + systemCell.titleLabelTextAlignment = self.titleLabelTextAlignment; + systemCell.titleLabelTextColor = self.titleLabelTextColor; + systemCell.titleLabelTextFont = self.titleLabelTextFont; + systemCell.hasConfigured = YES; + systemCell.imageView.contentMode = self.bannerImageViewContentMode; + systemCell.clipsToBounds = YES; + systemCell.onlyDisplayText = self.onlyDisplayText; } - return cell; } - - (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath { - if ([self.delegate respondsToSelector:@selector(cycleScrollView:didSelectItemAtIndex:)]) { + if (_delegateHas.didSelectItemAtIndex) { [self.delegate cycleScrollView:self didSelectItemAtIndex:[self pageControlIndexWithCurrentCellIndex:indexPath.item]]; } if (self.clickItemOperationBlock) { @@ -670,10 +678,11 @@ - (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView int itemIndex = [self currentIndex]; int indexOnPageControl = [self pageControlIndexWithCurrentCellIndex:itemIndex]; - if ([self.delegate respondsToSelector:@selector(cycleScrollView:didScrollToIndex:)]) { + if (_delegateHas.didScrollToIndex) { [self.delegate cycleScrollView:self didScrollToIndex:indexOnPageControl]; - } else if (self.itemDidScrollOperationBlock) { - self.itemDidScrollOperationBlock(indexOnPageControl); + } + if (self.itemDidScrollOperationBlock) { + self.itemDidScrollOperationBlock(indexOnPageControl); } }