From 03daf86c4e12dd59ad95532558b13e8ce97f7737 Mon Sep 17 00:00:00 2001 From: lee Date: Wed, 18 Jul 2018 11:10:53 +0800 Subject: [PATCH 01/11] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8A=A0=E4=B8=80?= =?UTF-8?q?=E4=B8=AAstyle?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TabPager/TYTabPagerBarLayout.h | 4 + .../TabPager/TYTabPagerBarLayout.m | 98 +++++++++++++++++-- 2 files changed, 96 insertions(+), 6 deletions(-) diff --git a/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.h b/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.h index 8891862..596b777 100644 --- a/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.h +++ b/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.h @@ -17,6 +17,7 @@ typedef NS_ENUM(NSUInteger, TYPagerBarStyle) { TYPagerBarStyleProgressBounceView, TYPagerBarStyleProgressElasticView, TYPagerBarStyleCoverView, + TYPagerBarStyleHalfArcView, }; @class TYTabPagerBar; @@ -58,6 +59,9 @@ typedef NS_ENUM(NSUInteger, TYPagerBarStyle) { // animate duration @property (nonatomic, assign) CGFloat animateDuration; // default 0.3 + +@property (nonatomic, strong) UIColor *HalfArcColor; + - (instancetype)init NS_UNAVAILABLE; + (instancetype)new NS_UNAVAILABLE; diff --git a/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m b/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m index d48b005..46d4c09 100644 --- a/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m +++ b/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m @@ -128,6 +128,8 @@ - (void)setBarStyle:(TYPagerBarStyle)barStyle self.progressHorEdging = -self.progressHeight/4; self.progressVerEdging = 3; break; + case TYPagerBarStyleHalfArcView: + break; default: break; } @@ -253,22 +255,106 @@ - (void)setUnderLineFrameWithIndex:(NSInteger)index animated:(BOOL)animated if (progressView.isHidden || _pagerTabBar.countOfItems == 0) { return; } - CGRect cellFrame = [self cellFrameWithIndex:index]; CGFloat progressHorEdging = _progressWidth > 0 ? (cellFrame.size.width - _progressWidth)/2 : _progressHorEdging; CGFloat progressX = cellFrame.origin.x+progressHorEdging; CGFloat progressY = _barStyle == TYPagerBarStyleCoverView ? (cellFrame.size.height - _progressHeight)/2:(cellFrame.size.height - _progressHeight - _progressVerEdging); CGFloat width = cellFrame.size.width-2*progressHorEdging; - if (animated) { - [UIView animateWithDuration:_animateDuration animations:^{ - progressView.frame = CGRectMake(progressX, progressY, width, _progressHeight); - }]; + // if (animated) { + // [UIView animateWithDuration:_animateDuration animations:^{ + // progressView.frame = CGRectMake(progressX, progressY, width, _progressHeight); + // }]; + // }else { + // if (_barStyle == TYPagerBarStyleHalfArcView) { + // [self creatHalfArcProgressViewWithIndex:index originView:progressView]; + // }else { + // progressView.frame = CGRectMake(progressX, progressY, width, _progressHeight); + // } + // } + if (_barStyle == TYPagerBarStyleHalfArcView) { + [self creatHalfArcProgressViewWithIndex:index originView:progressView]; }else { progressView.frame = CGRectMake(progressX, progressY, width, _progressHeight); } } - +- (void)creatHalfArcProgressViewWithIndex:(NSInteger)index originView:(UIView *)oriView { + [[oriView.layer.sublayers copy] enumerateObjectsUsingBlock:^(CALayer *layer, NSUInteger idx, BOOL * _Nonnull stop) { + [layer removeFromSuperlayer]; + }]; + oriView.frame = self.pagerTabBar.collectionView.frame; + oriView.backgroundColor = [UIColor clearColor]; + NSInteger countOfCell = self.pagerTabBar.countOfItems; + CGFloat margin = self.cellSpacing * 1.0 / 3.0; + UIBezierPath *bezierPath = [[UIBezierPath alloc] init]; + NSMutableArray *pointArray = [NSMutableArray array]; + for (int i = 0; i < countOfCell + 3; i ++) { + CGFloat point_x; + CGFloat point_y; + CGRect rect; + CGPoint point; + if (i == index + 1) { + rect = [self cellFrameWithIndex:i-1]; + point_x = rect.origin.x - margin ; + point_y = rect.origin.y + margin; + point = CGPointMake(point_x, point_y); + }else if (i == index +2) { + rect = [self cellFrameWithIndex:i-2]; + point_x = rect.origin.x + rect.size.width + margin; + point_y = rect.origin.y + margin; + point = CGPointMake(point_x, point_y); + }else if (i == index + 3) { + rect = [self cellFrameWithIndex:i-2]; + CGPoint lastPoint = [pointArray[i-1] CGPointValue]; + point_x = lastPoint.x; + point_y = (rect.origin.y + rect.size.height) * 4.0 / 5.0; + point = CGPointMake(point_x, point_y); + }else if (i == countOfCell+2) { + rect = [self cellFrameWithIndex:i-3]; + point_x = rect.origin.x + rect.size.width + margin; + point_y = (rect.origin.y + rect.size.height) * 4.0 / 5.0; + point = CGPointMake(point_x, point_y); + }else { + if (i <= index) { + rect = [self cellFrameWithIndex:i]; + point_x = rect.origin.x - margin; + point_y = (rect.origin.y + rect.size.height) * 4.0 / 5.0; + point = CGPointMake(point_x, point_y); + }else { + rect = [self cellFrameWithIndex:i-2]; + point_x = rect.origin.x - margin; + point_y = (rect.origin.y + rect.size.height) * 4.0 / 5.0; + point = CGPointMake(point_x, point_y); + } + } + [pointArray addObject:[NSValue valueWithCGPoint:point]]; + if (i == 0) { + [bezierPath moveToPoint:point]; + }else if (i == index + 1) { + CGPoint curPoint = CGPointMake(point.x + 5, point.y + 5); + [bezierPath addArcWithCenter:curPoint radius:5 startAngle:M_PI endAngle:M_PI * 3.0 / 2.0 clockwise:YES]; + }else if (i == index + 2) { + CGPoint curPoint = CGPointMake(point.x - 5, point.y + 5); + [bezierPath addArcWithCenter:curPoint radius:5 startAngle:M_PI *3.0 / 2.0 endAngle:0 clockwise:YES]; + }else { + [bezierPath addLineToPoint:point]; + } + } + + CGPoint lastPoint = [pointArray.lastObject CGPointValue]; + if (lastPoint.x < self.pagerTabBar.collectionView.frame.size.width - self.sectionInset.left) { + CGPoint point = CGPointMake(self.pagerTabBar.collectionView.frame.size.width - self.sectionInset.left, lastPoint.y); + [bezierPath addLineToPoint:point]; + } + + + CAShapeLayer *borderLayer = [CAShapeLayer layer]; + borderLayer.lineWidth = kUnderLineViewHeight; + borderLayer.strokeColor = self.HalfArcColor.CGColor; + borderLayer.fillColor = [UIColor clearColor].CGColor; + borderLayer.path = bezierPath.CGPath; + [oriView.layer addSublayer:borderLayer]; +} - (void)setUnderLineFrameWithfromIndex:(NSInteger)fromIndex toIndex:(NSInteger)toIndex progress:(CGFloat)progress { UIView *progressView = _pagerTabBar.progressView; From f3dd1435c6817649ee182fe32b0516e9c99c2be7 Mon Sep 17 00:00:00 2001 From: lee Date: Wed, 18 Jul 2018 11:32:38 +0800 Subject: [PATCH 02/11] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=80=E4=B8=8B?= =?UTF-8?q?=E5=B0=8F=E7=BB=86=E8=8A=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBar.m | 1 + 1 file changed, 1 insertion(+) diff --git a/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBar.m b/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBar.m index 5a7c9c6..2dbf366 100644 --- a/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBar.m +++ b/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBar.m @@ -83,6 +83,7 @@ - (void)addCollectionView { - (void)addUnderLineView { UIView *progressView = [[UIView alloc]init]; progressView.backgroundColor = [UIColor redColor]; + progressView.userInteractionEnabled = NO; [_collectionView addSubview:progressView]; _progressView = progressView; } From 7a0be23e7b8ec1f4f684621fd7b5707f4aec677f Mon Sep 17 00:00:00 2001 From: lee Date: Wed, 18 Jul 2018 14:14:12 +0800 Subject: [PATCH 03/11] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=80=E4=BA=9B?= =?UTF-8?q?=E5=B0=8F=E7=BB=86=E8=8A=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TYPagerController/TYPagerViewLayout.m | 2 +- .../TabPager/TYTabPagerBar.m | 1 - .../TabPager/TYTabPagerBarLayout.m | 27 +++++++++---------- 3 files changed, 14 insertions(+), 16 deletions(-) diff --git a/TYPagerControllerDemo/TYPagerController/TYPagerViewLayout.m b/TYPagerControllerDemo/TYPagerController/TYPagerViewLayout.m index b716485..c36b35c 100644 --- a/TYPagerControllerDemo/TYPagerController/TYPagerViewLayout.m +++ b/TYPagerControllerDemo/TYPagerController/TYPagerViewLayout.m @@ -278,7 +278,7 @@ - (void)scrollToItemAtIndex:(NSInteger)index animate:(BOOL)animate { } [self scrollViewWillScrollToView:_scrollView animate:animate]; - [_scrollView setContentOffset:CGPointMake(index * CGRectGetWidth(_scrollView.frame),0) animated:NO]; + [_scrollView setContentOffset:CGPointMake(index * CGRectGetWidth(_scrollView.frame),0) animated:animate]; [self scrollViewDidScrollToView:_scrollView animate:animate]; } diff --git a/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBar.m b/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBar.m index 2dbf366..0c5f5da 100644 --- a/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBar.m +++ b/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBar.m @@ -82,7 +82,6 @@ - (void)addCollectionView { - (void)addUnderLineView { UIView *progressView = [[UIView alloc]init]; - progressView.backgroundColor = [UIColor redColor]; progressView.userInteractionEnabled = NO; [_collectionView addSubview:progressView]; _progressView = progressView; diff --git a/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m b/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m index 46d4c09..62aeb99 100644 --- a/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m +++ b/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m @@ -255,27 +255,26 @@ - (void)setUnderLineFrameWithIndex:(NSInteger)index animated:(BOOL)animated if (progressView.isHidden || _pagerTabBar.countOfItems == 0) { return; } + CGRect cellFrame = [self cellFrameWithIndex:index]; CGFloat progressHorEdging = _progressWidth > 0 ? (cellFrame.size.width - _progressWidth)/2 : _progressHorEdging; CGFloat progressX = cellFrame.origin.x+progressHorEdging; CGFloat progressY = _barStyle == TYPagerBarStyleCoverView ? (cellFrame.size.height - _progressHeight)/2:(cellFrame.size.height - _progressHeight - _progressVerEdging); - CGFloat width = cellFrame.size.width-2*progressHorEdging; - - // if (animated) { - // [UIView animateWithDuration:_animateDuration animations:^{ - // progressView.frame = CGRectMake(progressX, progressY, width, _progressHeight); - // }]; - // }else { - // if (_barStyle == TYPagerBarStyleHalfArcView) { - // [self creatHalfArcProgressViewWithIndex:index originView:progressView]; - // }else { - // progressView.frame = CGRectMake(progressX, progressY, width, _progressHeight); - // } - // } + CGFloat width = cellFrame.size.width-2 * progressHorEdging; if (_barStyle == TYPagerBarStyleHalfArcView) { [self creatHalfArcProgressViewWithIndex:index originView:progressView]; }else { - progressView.frame = CGRectMake(progressX, progressY, width, _progressHeight); + if (animated) { + [UIView animateWithDuration:_animateDuration animations:^{ + progressView.frame = CGRectMake(progressX, progressY, width, _progressHeight); + }]; + }else { + if (_barStyle == TYPagerBarStyleHalfArcView) { + [self creatHalfArcProgressViewWithIndex:index originView:progressView]; + }else { + progressView.frame = CGRectMake(progressX, progressY, width, _progressHeight); + } + } } } - (void)creatHalfArcProgressViewWithIndex:(NSInteger)index originView:(UIView *)oriView { From 7810602470fdb20686d49ea26ca0fc937ddb6099 Mon Sep 17 00:00:00 2001 From: lee Date: Wed, 18 Jul 2018 14:59:52 +0800 Subject: [PATCH 04/11] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=80=E4=BA=9B?= =?UTF-8?q?=E5=B0=8F=E7=BB=86=E8=8A=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TYPagerController/TabPager/TYTabPagerBarLayout.m | 3 +++ 1 file changed, 3 insertions(+) diff --git a/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m b/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m index 62aeb99..c4ac263 100644 --- a/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m +++ b/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m @@ -193,6 +193,9 @@ - (void)adjustContentCellsCenterInBar { } - (CGRect)cellFrameWithIndex:(NSInteger)index { + if (index >= self.pagerTabBar.countOfItems || index < 0) { + index = 0; + } return [_pagerTabBar cellFrameWithIndex:index]; } From 1e9c51f44bc8ab1810e1b36a109f747bb352cf6c Mon Sep 17 00:00:00 2001 From: lee Date: Fri, 20 Jul 2018 16:54:29 +0800 Subject: [PATCH 05/11] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=80=E4=B8=8B?= =?UTF-8?q?=E5=8A=A8=E7=94=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xcshareddata/IDEWorkspaceChecks.plist | 8 ++++++++ .../UserInterfaceState.xcuserstate | Bin 0 -> 10826 bytes .../xcschemes/xcschememanagement.plist | 14 ++++++++++++++ .../TabPager/TYTabPagerBarLayout.m | 15 +++++++++------ 4 files changed, 31 insertions(+), 6 deletions(-) create mode 100644 TYPagerControllerDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 TYPagerControllerDemo.xcodeproj/project.xcworkspace/xcuserdata/lee.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 TYPagerControllerDemo.xcodeproj/xcuserdata/lee.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/TYPagerControllerDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/TYPagerControllerDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/TYPagerControllerDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/TYPagerControllerDemo.xcodeproj/project.xcworkspace/xcuserdata/lee.xcuserdatad/UserInterfaceState.xcuserstate b/TYPagerControllerDemo.xcodeproj/project.xcworkspace/xcuserdata/lee.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..efaef4237bbc99d86d62c779b7e62fd1a403911d GIT binary patch literal 10826 zcmeHtd3=-A(*HT<5lou2d9p80+AJ-b(2|y}$kH7vP>{4`r>5=G5=oPiq%0yjDu{}R zh+Hmmxze&DFCxmKq97uo;tE$qQBkkg4HS3LtM@lgo~Dba*S~)Myf1tpPtMGlGiT1s zcV^C$x|V=H67_ga5=t21$R(r~>CMgM=1oeQBZedXP;gROsO}oEJ{p;v<_p))^y6?< zS~S$6BlMQ_5AgpXml6fh69X}lKBO<{NBWZihWG7if9v}~qhsl2O z2suCwlc&ftC#HFOG{LF;HEZKAVifHu(`qp1wj~ zrLWP`^lkb+JxkBg&*=~J0{xK@){AKv&$LWnc9zEau)eGx%VYVhfDL7rvtevFD`BPV zN;aB#Srwbc8koptvDs`cTgYx^x3T4HC0oPpW82tvc0b$0_OgBKNp_e$#a?G`uv6?! z_7*$M-e&KxciD&R9Q%@e#a+Vn;(BwJatcn#C2%TE&l$MBTtBWqH-Nj08^{gf(zzTi zm&@bwxe?q*u8^zZs<|3&A~%Vf%uV5@a?`l!+zhUkyPETHA~%Z*apCH;U~3?7f+$G> zQ4uxK5Z%N|Z^kTfeq;)McDPPWT7AG5iL{eMk^~I6cES@aTmna7MlGLKR*>z<%_}HM z&&kRuO3xlrUXY%jnO%_X$t%k9WR>OSmJBJYZ|1~5^Id3%2!wH3s*#H{1HF$)biFYQYaLt>qeW= zNhuHenvvCk14Z>w45ZHOptzDyFd7a80%Ew9A0bVNZ?z|_xTw4=FDE}U-BVmzmY!W& zkegmmoRyWHo$K)wl@;d|mlb8bN(SLsq>~KkBpOijaoS7z*2M#zGVYRIy@zD~*#OsG zs!%4V)QL&v4<&e?C%&@$Vx|L?mHSj89?21s_I!h_sR@$v`x4It_SEWuyTSB8q$swY;vo zF*?qNPbq+ar zml%f}6Scf~!Gf&JLC)Nqg@c@^mk0IA&&*o55N)|&0e&mXMi`AToO zKOBi7XG;2~O~O{h2wKi=|?k7|AALGML4JEW!X2 z!78?s9biWg^3Sl3*m;iQG@P5u;7U0!LifZNY)hbBi-28^kljRLe;AcNF)8=>!v#S7 zD)Ep^RC~y8c_ALl*w(0oiV`4hK(=g>gO-=Rb^4=1`TK4Z$LpaO|7lyuvPW7IdHo0~o;s<}IWoh6Lqg6n<8K1u^@ta34H|pB`wLj*(r~;75!u3X2HMJbw4i z49%_d&G9$+aJZIF?+zS2P_#Pg5BQ_=rI}uY#b}LRoGXjyoGwcp^t&QT#fZNt_!|-= zC1m-2F;dH$iXss#uzbO&tZhVgwzwUK1Y9g-mh z9N+}kHZp_MN|wOC^@xumaex~}#H`_g2;2$FF@{^F1Y-D9g;0fycN%GIs6nj7OcreL zg&QQ>NovX(VP>t7D?RzUx3#Vrxu?kAViS2i&L|ZdeXW6LsaV(ABwNSXF*IJ99*JT) zo*=e_#Rxw5q^QU3Yh&z9Vz|4VrM2VZlBAQE2qFmgDog`&$XqfHF*O_tMP*Y-Td9=P z=gm!G(BB%76_emxoEMcTmX@%;8A0YE5)8%AOoidEk!#5UT;MvgkX(<8w2~XiP2^^> zXcAVmfrhXctZDJ#|Iw-SlH6dlYJLl@=xpeyGi1P$9KYulr-s7*_;zunp)ic6kj9gL zkXy(ST<=zL8@ZhSHFFQPF_Y{f&MxJl+?b8RKY1^y(UxN(%(9 zdE*-6bGvAe3w@yg`hcgFA3UiZjg)~0CHpX{S`ihSOGA>lj7|{4q}5s!x(ASsl{``ojRglw+)#jFC0o zhbN5nkbGbn&Ad`Zkv7s^%iB?91ZsbIYq=j93*IeqW;D9I&zDTEwM$&vcJAUR=1J47|}Vh zQvV>Y)$;vtkxmE4op+sjPXuWvuS+`pS$27aQ{>HBKJ`zm&`#cxr2iS#IQqX$-X&>m zSyE&qT4{ul5^y9 zD1lNa+d$5vQ-1~J=+v{N-fKXQz)JxU3-q4jqr_0N z7!A*t&+7;2ye_~f2~Xq}@!#|kDf9nKej)#%gi^{V2UkD^TnVFL42*@!EwmTyO)sSi zvX&-L6^w)NP!9owoMs3@%d~O~8L8lqAbP5-Q%qYd(tpnz5fOTLphBU%+OKV-gU*FN{Vpo@5pB@RdhU>+SEmIRsA-XNpOfA%krJq3U zG#Rdf3E+h)sD>JtxP>~Xle(yzrqVQ;3X@#i%vG`E86k(vbdvX zj2D}Hk=97pQJtVcqM{)(ht4JkrB1re7ZI_8$_R@AtZe3ph}t3Ouy>TUR%3fMVN5%X z5*fMaT#98LHd*n0qO(!lfFwK)*}&H#e$WLF21HgvR|A@#n?Fdpaag!8?iDxCMI>z_ z1$raBiQWuRXoWd2cOzX)Z=p-*tuPO+hox`_v`iW!Hg**J((OQJUD{dKPLZ)!DtsqT z@HfqjF~^r#PVbSHxr?r#chi+HAFhQ3aNS0{U8m~rM|${liC5M-uh6i?Ce2|O%H{!^2TWOw_tB0^%Xr>V$vl%l&yAO z%-!QUx6_T7B6SvVF?Q}c6A8v#taC=<9PP!ZO2z`L= zq7TANa5F60Kp!Gbx(62HR&RkB(@|U(JWi9ob={2d_*L4%SYK1nA8lIz1)Legp1mqi@2BKQiGv zk_q3XXW(vF)n&pD=tmdr>|@;7r?3)tb`S0heNm3N)I$H&J*@Ht{raN0-w+4=4*r7v zwpvOL8l2s|qe?BDcBqGppXkrh24X(&3#@^b*m*OG$}+|{xEI!SD$9DagkLYnRK&>= zVJ#~AH<&R#weW@>@|ljAeshX7Hs$XyBek$)eRqvmGINr&c9y~%upZjl@q)t*?XV$c zT5m@<$ay)|%sYFaQzs##v!B6c?Z2^foF?nf2IFNh8^A7O1KA*!&N5&lY=X_O1-8Pr z&CJ6xSr&1yY;3W&!)|y8&HM=dL!Xf@q08pAU>_|u#NtNkPNf^(j*H+4SQE*|5#NK{ ziMx;mY1r$Yigvq>_?{YV%raZJI72Rq}6O=nlj44ZI#ki;++A0CKVx(n^I za&i&vGx4@DF1V4+?A(?g9)=llLVyK3HxYt8T`PrI6bYzmRvT-Dy{^L%KMZbT z3t(Rt;d%xVVG|5$V>iP7F2W*qi$qup{o7*d#!-UZ&hF^cY8gD*rPW<*1?i3_>>l

Ik9<8TO`>I%vAY~w}owFyIV3p{}#c~Cl6=?1LReWYuZ z)WX@Zh$C_1>|nbt67nDlc?h0FA%_viQG^Ua^8BUF9wED*9k^)z<2e5y9Krcd$Cc>3 z{gQ>W6!s8uguOu0wz8+$QT7Zw#-3%*vFF)wcm|Hav+x`|569sJcyTL=eTluyUSY4Y z6YM1W2QKgud;(|TNB9YThF@YXQjEKt)e`atqmkGP6)a>hj%*#*Qu0n>wQZz46vpx+ zGEIK(;;o-4N^fEe^4AHiLCmdDe=v3>gW(&GQTe7>%GUCelvsjII2FTKx(2HVHinQr z9_pR!7CF>=)=<*=@sl{i-j~il0h-&`2k>&2Z~cpXf&oEQ>|<?dsB*f;E3_8t44{lG4;AK@hY173sI;SD$iZ(=XQe(urB zyw$CjK~(u)-^+B^l2dc|wiG)VE(trC)7?6mU-d9?ej|r3Ik#{o&dgajD`(>b&JORu zyKn~HgZJSB_~#ZY*5bkvNWW1>EI`^W0GQw2d1EpUJo>T`9tH~Jb2>g$HoW!HwJ+S9 zn_c4{FNvEhf8-6yjMcDQ9o^AJ67g3B@qUGC(>=%yU?=H%@I&L<%k~_)0 z&3&lQD6|TjqK_g&F-%dSxKiO&R4J+zA;ooyrHW;W<%$)Gm5No0)rvKWt%~i69g3Zb zU5ed`hZTDj`xQqOr<6*iT{&7gLpfKuNV!_MM!8nGPI;fQO}Rn2Nx4P2O?g21gz}K` zu=0rVsPdTdIpuNXi^`XkZz;b?UmDZwW%Ig9aKH3dP?=Q>KWAqHB%?5HEOL| zuQsa9YOA`hI#ZpeE>K^t9X+58s!ysv zR)4GhUVTCRQ=&f6ndnYTOYECCB5_pWxWuYNUt)9O+{F2b3lbM5ewz4ok}@eNDJ>~I zX;RYkq+65Pk~So5O4^dNEopbso}_(Ak0c#VI-B&RM$n{buGEavv}$hBEY>X1+^)Gp zbEjsn<|)ll%`wgMnin)LX-;b1(|oM?RC8AIx#nBV_nHfupEN)71Nb6-GGE7wd=u~I z=kSa9CH!stQhph~oL|AOZZ4(yrF7(XQ35)840T({9ji(jM1-rqk+jbW?Sp+p62H+owCA zdqQ_e_q6UA-Ltyqb+72o=swYXsynOuLidBdmp(zS*BkX_y;Yx~_vo|q+4@|4zP?C5 zMqjBPub-f=(%0xG=|z2$-mjmfpQpc8f1Un%{Zjoh{c`;Z{onQL_3iqN`Umw7>G$aO z>0i>H*1w}aqkrF^FytG`3}X$G4O0!%4Yh`uhM*y0xXy65VU3~Pu*tB+u+4DD@Pgqr z!yAS-4W|w77(Oz5V))E(&hUldOT&*woiW+i&zNl-ZX9VWGL{(2jFram#tFtMV~uf= zagK4Naj)?u;~U0P#ZW?JS zGL@LhOkUH~rike}(_+)zrZuLurgf(KOq)$xP1{X7Ogl~cO;4JhGo3P>F`YA=H+^OL z*7UvUf;rJ_GYe+BImJBCoMHBuhnREBdFIjPD)VIXRP%ImtvO(hm|M+r&GXG*zRA4E ze2e*3^WEmP=B?%j%nzC$GVd`TFh5~FWIk*@Vt&p1uKBF_3-g!eZ_MABf3Q$XZ;Qf` zU{PDF7N^B+Nwf5|q+14CGA%muzvhr4))nRp6Q>}fh{j3A51Fh-SQmfZ0 zT5q%Nx4v%ur}ZQ2C)Tsp&#mWe%%-vFYzCXzX0-{nA+|zWnQfG@R%Z~Myjt?hf;1);Z~6jVZzzzaITA-IJ!p`S277%1cmmkYy%LZMhF6|NGh zgc@P8Fjbf?TqDd90zyz&AY3niaI>&jSR&jdtQOV?YlU^feZmgmAz_cOPk2N)Bpeow z2uFou!dt>Wg)fC4gdc@}3%}TV*)O##?J9esU9hLwGwu2Iq4r_+5%x0sD0_u{w0*4o zYP;V)$G*gVn|-N$nSHr^g?*)cm3_5+t9`qDhkd7gmwmVWVf$YDe*2^LSL~nLe@fOR zrzIC9dy|973zDx-hUA-*7bh=Cz9)H2^4jEe$?eG-lQ$=CP2Q8dFZq$=$5Q&IhqIWmZaaN+@M^%3o9VrM&H+j((0Yj;P~C$1RRq z9k)A{J61SWI#xM0Iv#W!avXLXaU69Vb3Erb?s(Dhw&PvLdyWqrA38pAeB$`ban5OQ z4slL)E_7~i9&?^|{_J9|OI*EODp#UQP40p268AK> z-@VCwzk9d)fct6pG52%s-STm&&De{u^tilUB>)a?HUMZk4h literal 0 HcmV?d00001 diff --git a/TYPagerControllerDemo.xcodeproj/xcuserdata/lee.xcuserdatad/xcschemes/xcschememanagement.plist b/TYPagerControllerDemo.xcodeproj/xcuserdata/lee.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..bb7d043 --- /dev/null +++ b/TYPagerControllerDemo.xcodeproj/xcuserdata/lee.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + TYPagerControllerDemo.xcscheme + + orderHint + 0 + + + + diff --git a/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m b/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m index c4ac263..c081cab 100644 --- a/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m +++ b/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m @@ -217,14 +217,17 @@ - (void)transitionFromCell:(UICollectionViewCell *)fr toCell.transform = CGAffineTransformIdentity; } }; - if (animate) { - [UIView animateWithDuration:_animateDuration animations:^{ - animateBlock(); - }]; - }else{ + if (_barStyle == TYPagerBarStyleHalfArcView) { animateBlock(); + }else { + if (animate) { + [UIView animateWithDuration:_animateDuration animations:^{ + animateBlock(); + }]; + }else{ + animateBlock(); + } } - } - (void)transitionFromCell:(UICollectionViewCell *)fromCell toCell:(UICollectionViewCell *)toCell progress:(CGFloat)progress { From 3b52fe4731d36fada3448cff78a31f37f0ca1e32 Mon Sep 17 00:00:00 2001 From: lee Date: Sun, 29 Jul 2018 18:08:22 +0800 Subject: [PATCH 06/11] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=80=E4=B8=8B?= =?UTF-8?q?=E5=8A=A8=E7=94=BB=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TYPagerController/TabPager/TYTabPagerBarLayout.m | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m b/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m index c081cab..977655a 100644 --- a/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m +++ b/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m @@ -415,8 +415,11 @@ - (void)setUnderLineFrameWithfromIndex:(NSInteger)fromIndex toIndex:(NSInteger)t progressX = (toCellFrame.origin.x+progressToEdging-(fromCellFrame.origin.x+progressFromEdging))*progress+fromCellFrame.origin.x+progressFromEdging; width = (toCellFrame.size.width-2*progressToEdging)*progress + (fromCellFrame.size.width-2*progressFromEdging)*(1-progress); } - - progressView.frame = CGRectMake(progressX,progressY, width, _progressHeight); + if (_barStyle == TYPagerBarStyleHalfArcView) { + + }else { + progressView.frame = CGRectMake(progressX,progressY, width, _progressHeight); + } } - (void)layoutSubViews { From b19f5c1e1dd6410cb1b13ae68837507f9e4b5dbe Mon Sep 17 00:00:00 2001 From: lee Date: Wed, 24 Oct 2018 16:00:00 +0800 Subject: [PATCH 07/11] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BB=86=E8=8A=82?= =?UTF-8?q?=E5=8A=A8=E7=94=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TYPagerController/TabPager/TYTabPagerBarLayout.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m b/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m index 977655a..eaecd7d 100644 --- a/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m +++ b/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m @@ -217,7 +217,7 @@ - (void)transitionFromCell:(UICollectionViewCell *)fr toCell.transform = CGAffineTransformIdentity; } }; - if (_barStyle == TYPagerBarStyleHalfArcView) { + if ((_barStyle == TYPagerBarStyleHalfArcView) || (_barStyle == TYPagerBarStyleCoverView)) { animateBlock(); }else { if (animate) { From 335da07572dbd6efc85743cfd3ec022ae6826134 Mon Sep 17 00:00:00 2001 From: lee Date: Wed, 24 Oct 2018 16:43:56 +0800 Subject: [PATCH 08/11] =?UTF-8?q?=E5=BB=B6=E8=BF=9F=E5=8A=A0=E8=BD=BD?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TYPagerController/TYPagerView.m | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/TYPagerControllerDemo/TYPagerController/TYPagerView.m b/TYPagerControllerDemo/TYPagerController/TYPagerView.m index b869362..78c2a13 100644 --- a/TYPagerControllerDemo/TYPagerController/TYPagerView.m +++ b/TYPagerControllerDemo/TYPagerController/TYPagerView.m @@ -28,8 +28,9 @@ @interface TYPagerView () Date: Wed, 24 Oct 2018 21:00:55 +0800 Subject: [PATCH 09/11] =?UTF-8?q?fix:=E6=8E=A8=E8=BF=9F=E5=8A=A0=E8=BD=BD?= =?UTF-8?q?=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TYPagerControllerDemo/TYPagerController/TYPagerView.m | 2 +- .../TYPagerController/TabPager/TYTabPagerBarLayout.m | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/TYPagerControllerDemo/TYPagerController/TYPagerView.m b/TYPagerControllerDemo/TYPagerController/TYPagerView.m index 78c2a13..ca48f31 100644 --- a/TYPagerControllerDemo/TYPagerController/TYPagerView.m +++ b/TYPagerControllerDemo/TYPagerController/TYPagerView.m @@ -172,7 +172,7 @@ - (void)pagerViewLayout:(TYPagerViewLayout *)pagerViewLayout addVisibleItem:(id) if (_willScrollToIndex == index) { [pagerViewLayout.scrollView addSubview:visibleView]; }else { - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.5f * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ [pagerViewLayout.scrollView addSubview:visibleView]; }); } diff --git a/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m b/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m index eaecd7d..977655a 100644 --- a/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m +++ b/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m @@ -217,7 +217,7 @@ - (void)transitionFromCell:(UICollectionViewCell *)fr toCell.transform = CGAffineTransformIdentity; } }; - if ((_barStyle == TYPagerBarStyleHalfArcView) || (_barStyle == TYPagerBarStyleCoverView)) { + if (_barStyle == TYPagerBarStyleHalfArcView) { animateBlock(); }else { if (animate) { From 4a1a0d0e4cb4243bd94c0ccf93e1e3775edbbc70 Mon Sep 17 00:00:00 2001 From: lee Date: Sun, 28 Oct 2018 23:34:07 +0800 Subject: [PATCH 10/11] =?UTF-8?q?=E5=8F=96=E6=B6=88=E6=9A=82=E7=BC=93?= =?UTF-8?q?=E5=8A=A0=E8=BD=BD=EF=BC=8C=E4=BF=AE=E6=94=B9OnlyWhenScrollAnim?= =?UTF-8?q?atedEnd=20=E5=B1=9E=E6=80=A7=E4=B8=BAyes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TYPagerControllerDemo/TYPagerController/TYPagerView.m | 10 +--------- .../TYPagerController/TYPagerViewLayout.m | 2 +- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/TYPagerControllerDemo/TYPagerController/TYPagerView.m b/TYPagerControllerDemo/TYPagerController/TYPagerView.m index ca48f31..372f789 100644 --- a/TYPagerControllerDemo/TYPagerController/TYPagerView.m +++ b/TYPagerControllerDemo/TYPagerController/TYPagerView.m @@ -29,7 +29,6 @@ @interface TYPagerView () Date: Tue, 11 Dec 2018 17:22:26 +0800 Subject: [PATCH 11/11] =?UTF-8?q?fix:HalfArcProgressStyle=E7=BA=BF?= =?UTF-8?q?=E5=AE=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TYPagerController/TabPager/TYTabPagerBarLayout.m | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m b/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m index 977655a..cf0017e 100644 --- a/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m +++ b/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m @@ -18,6 +18,7 @@ @interface TYTabPagerBarLayout () @end #define kUnderLineViewHeight 2 +#define kHalfArcProgressViewLineHeight 1 @implementation TYTabPagerBarLayout @@ -354,7 +355,7 @@ - (void)creatHalfArcProgressViewWithIndex:(NSInteger)index originView:(UIView *) CAShapeLayer *borderLayer = [CAShapeLayer layer]; - borderLayer.lineWidth = kUnderLineViewHeight; + borderLayer.lineWidth = kHalfArcProgressViewLineHeight; borderLayer.strokeColor = self.HalfArcColor.CGColor; borderLayer.fillColor = [UIColor clearColor].CGColor; borderLayer.path = bezierPath.CGPath;