From dd591f1696ed068277f36e5d5999777861042b58 Mon Sep 17 00:00:00 2001 From: xiaomage1478 Date: Thu, 25 Jul 2019 11:32:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E:=E7=BA=AF=E6=96=87=E5=AD=97?= =?UTF-8?q?=E4=B8=8A=E4=B8=8B=E8=BD=AE=E6=92=AD,=E5=A4=9A=E8=A1=8C?= =?UTF-8?q?=E5=90=8C=E6=97=B6=E8=BD=AE=E6=92=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .DS_Store | Bin 0 -> 6148 bytes .../xcschemes/xcschememanagement.plist | 19 ++++++++++++++++++ .../xcschemes/xcschememanagement.plist | 14 +++++++++++++ .../UserInterfaceState.xcuserstate | Bin 0 -> 18668 bytes .../Lib/SDCycleScrollView/SDCycleScrollView.h | 3 +++ .../Lib/SDCycleScrollView/SDCycleScrollView.m | 12 ++++++++++- SDCycleScrollView/ViewController.m | 18 +++++++++++++++++ 7 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 .DS_Store create mode 100644 Pods/Pods.xcodeproj/xcuserdata/xiaomage.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 SDCycleScrollView.xcodeproj/xcuserdata/xiaomage.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 SDCycleScrollView.xcworkspace/xcuserdata/xiaomage.xcuserdatad/UserInterfaceState.xcuserstate diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..78c6777b52fe5230b825deb263723dbaca88f112 GIT binary patch literal 6148 zcmeHK%T60H6g`HKNC6?(&?1C1>WWPfQA(w%n`uZENPwyabsJzZq=9KBO=tqU+4LX! z3w&Qcpqy)4)r`}MED)+HU&%hU=icM%GY^jesQR}~6<7sOVG#@#S^dG}x|AuKvm+}+ zB^(E77N4itIr~EB%`4y)__r01cQ?Qey6EBBd4J#W+V(GPdJ!x18(~7v3tZzB#z-*a zNDmqMPVAi%yMRL+U>{8!qlISKTRorh{y@$S=jkCu;&^{|yq8h(W|k?VV_Z3LKb^S1 z#*NB;kahnktotRta-FfxC_$T9W$d@9*=N>gc!Rf8VvioLiB;5etIb{wyUgYi19Y7^ zM4#du&+w7jyhj5^#2tJ=ryQX*Dn_hP#|9O>@!73rSDByU<}$)K;j0$u^Hz;6ZQ`w+4S zMiz5}`qRNm9|4E~hqbY-fBlJ}3=kuWxj~N5lnEu8P-Tx8%AOpQ3Fr05`sW5sIFz25 zJa%SfPbkVBJXEONp(2C6_6m3f$_mVz?yBtn&A*@j%R#>974QoDR|=@0(Q4GWB)hjx yEl&2@kmZy`O#E_#I)s(oj&(z};ukF1crBC$F|wE& + + + + SchemeUserState + + Pods-SDCycleScrollView.xcscheme_^#shared#^_ + + orderHint + 1 + + SDWebImage.xcscheme_^#shared#^_ + + orderHint + 2 + + + + diff --git a/SDCycleScrollView.xcodeproj/xcuserdata/xiaomage.xcuserdatad/xcschemes/xcschememanagement.plist b/SDCycleScrollView.xcodeproj/xcuserdata/xiaomage.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 00000000..2523af60 --- /dev/null +++ b/SDCycleScrollView.xcodeproj/xcuserdata/xiaomage.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + SDCycleScrollView.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/SDCycleScrollView.xcworkspace/xcuserdata/xiaomage.xcuserdatad/UserInterfaceState.xcuserstate b/SDCycleScrollView.xcworkspace/xcuserdata/xiaomage.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..8f7b59d496b7520f78b7f6dade3e7521f19b0167 GIT binary patch literal 18668 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 CPL*W< literal 0 HcmV?d00001 diff --git a/SDCycleScrollView/Lib/SDCycleScrollView/SDCycleScrollView.h b/SDCycleScrollView/Lib/SDCycleScrollView/SDCycleScrollView.h index 817b2f6a..8ed50c5a 100644 --- a/SDCycleScrollView/Lib/SDCycleScrollView/SDCycleScrollView.h +++ b/SDCycleScrollView/Lib/SDCycleScrollView/SDCycleScrollView.h @@ -154,6 +154,9 @@ typedef enum { /** 只展示文字轮播 */ @property (nonatomic, assign) BOOL onlyDisplayText; +/** 多行文字同时轮播显示,仅文字轮播有效 */ +@property (nonatomic, assign) NSUInteger lineCount; + /** pagecontrol 样式,默认为动画样式 */ @property (nonatomic, assign) SDCycleScrollViewPageContolStyle pageControlStyle; diff --git a/SDCycleScrollView/Lib/SDCycleScrollView/SDCycleScrollView.m b/SDCycleScrollView/Lib/SDCycleScrollView/SDCycleScrollView.m index 68741e88..abc74725 100644 --- a/SDCycleScrollView/Lib/SDCycleScrollView/SDCycleScrollView.m +++ b/SDCycleScrollView/Lib/SDCycleScrollView/SDCycleScrollView.m @@ -434,6 +434,9 @@ - (void)automaticScroll if (0 == _totalItemsCount) return; int currentIndex = [self currentIndex]; int targetIndex = currentIndex + 1; + if (self.onlyDisplayText && self.lineCount > 0 && self.scrollDirection == UICollectionViewScrollDirectionVertical) { + targetIndex = currentIndex + (int)self.lineCount; + } [self scrollToIndex:targetIndex]; } @@ -460,6 +463,9 @@ - (int)currentIndex index = (_mainView.contentOffset.x + _flowLayout.itemSize.width * 0.5) / _flowLayout.itemSize.width; } else { index = (_mainView.contentOffset.y + _flowLayout.itemSize.height * 0.5) / _flowLayout.itemSize.height; + if (self.onlyDisplayText && self.lineCount > 0) { + index = (_mainView.contentOffset.y + _flowLayout.itemSize.height * 0.5 + _flowLayout.itemSize.height * (self.lineCount - 1)) / _flowLayout.itemSize.height; + } } return MAX(0, index); @@ -488,7 +494,11 @@ - (void)layoutSubviews [super layoutSubviews]; - _flowLayout.itemSize = self.frame.size; + if (self.onlyDisplayText && self.lineCount > 0 && self.scrollDirection == UICollectionViewScrollDirectionVertical) { + _flowLayout.itemSize = CGSizeMake(self.frame.size.width, self.frame.size.height/self.lineCount); + }else{ + _flowLayout.itemSize = self.frame.size; + } _mainView.frame = self.bounds; if (_mainView.contentOffset.x == 0 && _totalItemsCount) { diff --git a/SDCycleScrollView/ViewController.m b/SDCycleScrollView/ViewController.m index 53303212..dfadd760 100644 --- a/SDCycleScrollView/ViewController.m +++ b/SDCycleScrollView/ViewController.m @@ -161,6 +161,24 @@ - (void)viewDidLoad { _customCellScrollViewDemo.imageURLStringsGroup = imagesURLStrings; [demoContainerView addSubview:_customCellScrollViewDemo]; + + + // >>>>>>>>>>>>>>>>>>>>>>>>> demo轮播图6 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + + // 网络加载 --- 创建只上下滚动展示文字的轮播器 + // 由于模拟器的渲染问题,如果发现轮播时有一条线不必处理,模拟器放大到100%或者真机调试是不会出现那条线的 + SDCycleScrollView *cycleScrollView6 = [SDCycleScrollView cycleScrollViewWithFrame:CGRectMake(0, 1000, w, 60) delegate:self placeholderImage:nil]; + cycleScrollView6.scrollDirection = UICollectionViewScrollDirectionVertical; + cycleScrollView6.onlyDisplayText = YES; + cycleScrollView6.lineCount = 2; + NSMutableArray *titlesArray1 = [NSMutableArray new]; + [titlesArray1 addObject:@"纯文字上下多行滚动轮播"]; + [titlesArray1 addObject:@"纯文字上下多行滚动轮播 -- demo轮播图6"]; + [titlesArray1 addObjectsFromArray:titles]; + cycleScrollView6.titlesGroup = [titlesArray1 copy]; + [cycleScrollView6 disableScrollGesture]; + + [demoContainerView addSubview:cycleScrollView6]; } - (void)viewWillAppear:(BOOL)animated