From 03995f0c1741b03924a18d2a7992d56dfbed6d93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=AF=E6=96=87=E7=A7=80?= <1246341193@qq.com> Date: Tue, 2 May 2017 14:39:57 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E5=A4=87=E6=B3=A8=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 完善备注信息 --- .../UserInterfaceState.xcuserstate | Bin 15822 -> 11824 bytes CustomScrollViewDemo/WMShuffleFigure.m | 21 +++++++++--------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/CustomScrollViewDemo.xcodeproj/project.xcworkspace/xcuserdata/Hera.xcuserdatad/UserInterfaceState.xcuserstate b/CustomScrollViewDemo.xcodeproj/project.xcworkspace/xcuserdata/Hera.xcuserdatad/UserInterfaceState.xcuserstate index f694d5609f9e797657ac7df84d6ea808e76d660d..46831c2c34a8586202df8c3d26ae409294516ec2 100755 GIT binary patch literal 11824 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 CebS@= diff --git a/CustomScrollViewDemo/WMShuffleFigure.m b/CustomScrollViewDemo/WMShuffleFigure.m index 1daf845..30c6233 100755 --- a/CustomScrollViewDemo/WMShuffleFigure.m +++ b/CustomScrollViewDemo/WMShuffleFigure.m @@ -110,7 +110,7 @@ - (void)setImageArray:(NSArray *)imageArray{ [_images addObject:imageArray[i]]; } } - //防止在滚动过程中重新给imageArray赋值时报错 + // 防止在滚动过程中重新给imageArray赋值时报错 if (_currIndex >= _images.count)_currIndex = _images.count - 1; self.currImageView.image = _images[_currIndex]; self.pageControl.numberOfPages = _images.count; @@ -124,7 +124,7 @@ - (void)setScrollViewContentSize { self.scrollView.contentOffset = CGPointMake(self.width * 2, 0); self.currImageView.frame = CGRectMake(self.width * 2, 0, self.width, self.height); if (_changeMode == ChangeModeFade) { - //淡入淡出模式,两个imageView都在同一位置,改变透明度就可以了 + // 淡入淡出模式,两个imageView都在同一位置,改变透明度就可以了 _currImageView.frame = CGRectMake(0, 0, self.width, self.height); _otherImageView.frame = self.currImageView.frame; _otherImageView.alpha = 0; @@ -135,7 +135,7 @@ - (void)setScrollViewContentSize { [self startTimer]; } else { - //只要一张图片时,scrollview不可滚动,且关闭定时器 + // 只要一张图片时,scrollview不可滚动,且关闭定时器 self.scrollView.contentSize = CGSizeZero; self.scrollView.contentOffset = CGPointZero; self.currImageView.frame = CGRectMake(0, 0, self.width, self.height); @@ -164,11 +164,11 @@ - (void)setPagePosition:(PageControlPosition)pagePosition { if (_pageControl.hidden) return; CGSize size; - if (!_pageImageSize.width) {//没有设置图片,系统原有样式 + if (!_pageImageSize.width) {// 没有设置图片,系统原有样式 size = [_pageControl sizeForNumberOfPages:_pageControl.numberOfPages]; size.height = 8; } - else {//设置图片了 + else {// 设置图片了 size = CGSizeMake(10 * (_pageControl.numberOfPages * 2 - 1), 10); } _pageControl.frame = CGRectMake(0, 0, size.width, size.height); @@ -176,6 +176,7 @@ - (void)setPagePosition:(PageControlPosition)pagePosition { CGFloat centerY = self.height - size.height * 0.5 - VERMARGIN; CGFloat pointY = self.height - size.height - VERMARGIN; + // 判断位置 调换 if (_pagePosition == PositionDefault || _pagePosition == PositionBottomCenter) _pageControl.center = CGPointMake(self.width * 0.5, centerY); else if (_pagePosition == PositionTopCenter) @@ -194,9 +195,9 @@ - (void)setTime:(NSTimeInterval)time { #pragma mark --- 定时器 --- - (void)startTimer { - //如果只有一张图片,则直接返回,不开启定时器 + // 如果只有一张图片,则直接返回,不开启定时器 if (_images.count <= 1) return; - //如果定时器已开启,先停止再重新开启 + // 如果定时器已开启,先停止再重新开启 if (self.timer) [self stopTimer]; self.timer = [NSTimer timerWithTimeInterval:_time < 2? DEFAULTTIME: _time target:self selector:@selector(nextPage) userInfo:nil repeats:YES]; [[NSRunLoop currentRunLoop] addTimer:self.timer forMode:NSRunLoopCommonModes]; @@ -209,7 +210,7 @@ - (void)stopTimer { #pragma mark --- 开启定时器 --- - (void)nextPage { if (_changeMode == ChangeModeFade) { - //淡入淡出模式,不需要修改scrollview偏移量,改变两张图片的透明度即可 + // 淡入淡出模式,不需要修改scrollview偏移量,改变两张图片的透明度即可 self.nextIndex = (self.currIndex + 1) % _images.count; self.otherImageView.image = _images[_nextIndex]; @@ -229,10 +230,10 @@ - (void)nextPage { #pragma mark --- 布局子控件 --- - (void)layoutSubviews { [super layoutSubviews]; - //有导航控制器时,会默认在scrollview上方添加64的内边距,这里强制设置为0 + // 有导航控制器时,会默认在scrollview上方添加64的内边距,这里强制设置为0 _scrollView.contentInset = UIEdgeInsetsZero; _scrollView.frame = self.bounds; - //重新计算pageControl的位置 + // 重新计算pageControl的位置 self.pagePosition = self.pagePosition; [self setScrollViewContentSize]; } From d25699fb421ec5fec6d7c220fc5ead4c1dcda4ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=AF=E6=96=87=E7=A7=80?= <1246341193@qq.com> Date: Tue, 2 May 2017 14:43:28 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E5=AF=B9=E6=AF=94=E4=BB=A3=E7=90=86?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UserInterfaceState.xcuserstate | Bin 11824 -> 12273 bytes CustomScrollViewDemo/ViewController.m | 6 +++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CustomScrollViewDemo.xcodeproj/project.xcworkspace/xcuserdata/Hera.xcuserdatad/UserInterfaceState.xcuserstate b/CustomScrollViewDemo.xcodeproj/project.xcworkspace/xcuserdata/Hera.xcuserdatad/UserInterfaceState.xcuserstate index 46831c2c34a8586202df8c3d26ae409294516ec2..6f461f65608647a80bddc361a8f89f72a36f9016 100755 GIT binary patch delta 7162 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 delta 6852 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 Ss~SS8|LMi*|C(QK_x}UgxD25H diff --git a/CustomScrollViewDemo/ViewController.m b/CustomScrollViewDemo/ViewController.m index 74babbb..41b4092 100755 --- a/CustomScrollViewDemo/ViewController.m +++ b/CustomScrollViewDemo/ViewController.m @@ -32,9 +32,13 @@ - (void)viewDidLoad { [self.view addSubview:shuffleView]; } + +# pragma mark ---- 滚动视图 的代理方法 ---- - (void)shuffleView:(WMShuffleFigure *)shuffleView clickImageAtIndex:(NSInteger)index { - + NSLog(@"滚动视图 图片数组 ---- %@", shuffleView.imageArray); + NSLog(@"图片数组 下表 ---- %ld", index); + } - (void)didReceiveMemoryWarning { From f88cde4ecfbee8c1e3f10bb7ff0b310e72aada53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=AF=E6=96=87=E7=A7=80?= <1246341193@qq.com> Date: Tue, 2 May 2017 14:51:28 +0800 Subject: [PATCH 3/4] Pull Request --- .../project.pbxproj | 9 ++ .../UserInterfaceState.xcuserstate | Bin 12273 -> 12530 bytes CustomScrollViewDemo/WMSigleAlertView.h | 13 +++ CustomScrollViewDemo/WMSigleAlertView.m | 83 ++++++++++++++++++ 4 files changed, 105 insertions(+) create mode 100644 CustomScrollViewDemo/WMSigleAlertView.h create mode 100644 CustomScrollViewDemo/WMSigleAlertView.m diff --git a/CustomScrollViewDemo.xcodeproj/project.pbxproj b/CustomScrollViewDemo.xcodeproj/project.pbxproj index 15ad476..2b6ee9b 100755 --- a/CustomScrollViewDemo.xcodeproj/project.pbxproj +++ b/CustomScrollViewDemo.xcodeproj/project.pbxproj @@ -19,6 +19,7 @@ C367A4981DE3E7EB0046E17E /* mom.png in Resources */ = {isa = PBXBuildFile; fileRef = C367A4971DE3E7EB0046E17E /* mom.png */; }; C367A49A1DE3E7F30046E17E /* haqi.png in Resources */ = {isa = PBXBuildFile; fileRef = C367A4991DE3E7F30046E17E /* haqi.png */; }; C367A49C1DE3E7F90046E17E /* dun.png in Resources */ = {isa = PBXBuildFile; fileRef = C367A49B1DE3E7F90046E17E /* dun.png */; }; + C3F8F3221EB8639C0084145E /* WMSigleAlertView.m in Sources */ = {isa = PBXBuildFile; fileRef = C3F8F3211EB8639C0084145E /* WMSigleAlertView.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -60,6 +61,8 @@ C367A4971DE3E7EB0046E17E /* mom.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = mom.png; sourceTree = ""; }; C367A4991DE3E7F30046E17E /* haqi.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = haqi.png; sourceTree = ""; }; C367A49B1DE3E7F90046E17E /* dun.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = dun.png; sourceTree = ""; }; + C3F8F3201EB8639C0084145E /* WMSigleAlertView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WMSigleAlertView.h; sourceTree = ""; }; + C3F8F3211EB8639C0084145E /* WMSigleAlertView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WMSigleAlertView.m; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -116,6 +119,8 @@ C367A4661DE3E6D80046E17E /* ViewController.m */, C367A4921DE3E7000046E17E /* WMShuffleFigure.h */, C367A4931DE3E7000046E17E /* WMShuffleFigure.m */, + C3F8F3201EB8639C0084145E /* WMSigleAlertView.h */, + C3F8F3211EB8639C0084145E /* WMSigleAlertView.m */, C367A49B1DE3E7F90046E17E /* dun.png */, C367A4991DE3E7F30046E17E /* haqi.png */, C367A4681DE3E6D80046E17E /* Main.storyboard */, @@ -292,6 +297,7 @@ files = ( C367A4671DE3E6D80046E17E /* ViewController.m in Sources */, C367A4641DE3E6D80046E17E /* AppDelegate.m in Sources */, + C3F8F3221EB8639C0084145E /* WMSigleAlertView.m in Sources */, C367A4611DE3E6D70046E17E /* main.m in Sources */, C367A4941DE3E7000046E17E /* WMShuffleFigure.m in Sources */, ); @@ -523,6 +529,7 @@ C367A48B1DE3E6D80046E17E /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; C367A48C1DE3E6D80046E17E /* Build configuration list for PBXNativeTarget "CustomScrollViewDemoTests" */ = { isa = XCConfigurationList; @@ -531,6 +538,7 @@ C367A48E1DE3E6D80046E17E /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; C367A48F1DE3E6D80046E17E /* Build configuration list for PBXNativeTarget "CustomScrollViewDemoUITests" */ = { isa = XCConfigurationList; @@ -539,6 +547,7 @@ C367A4911DE3E6D80046E17E /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; diff --git a/CustomScrollViewDemo.xcodeproj/project.xcworkspace/xcuserdata/Hera.xcuserdatad/UserInterfaceState.xcuserstate b/CustomScrollViewDemo.xcodeproj/project.xcworkspace/xcuserdata/Hera.xcuserdatad/UserInterfaceState.xcuserstate index 6f461f65608647a80bddc361a8f89f72a36f9016..2e4fa13e01e5cca5be62ed3f51e556549208c81c 100755 GIT binary patch delta 7098 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 + +@interface WMSigleAlertView : NSObject +- (void)showAlertViewTitle:(NSString *)title bgView:(UIView *)bgView; +@end diff --git a/CustomScrollViewDemo/WMSigleAlertView.m b/CustomScrollViewDemo/WMSigleAlertView.m new file mode 100644 index 0000000..dccd118 --- /dev/null +++ b/CustomScrollViewDemo/WMSigleAlertView.m @@ -0,0 +1,83 @@ +// +// WMCartAlertView.m +// Wemart +// +// Created by 冯文秀 on 16/8/26. +// Copyright © 2016年 冯文秀. All rights reserved. +// + +#import "WMSigleAlertView.h" +#define WMLightFont(FontSize) [UIFont fontWithName:@"PingFangSC-Light" size:FontSize] +#define WMMediumFont(FontSize) [UIFont fontWithName:@"PingFangSC-Medium" size:FontSize] +#define ColorRGB(a,b,c,d) [UIColor colorWithRed:a/255.0 green:b/255.0 blue:c/255.0 alpha:d] + + +@interface WMSigleAlertView() +@property (nonatomic, strong) NSTimer *timer; +@property (nonatomic, strong) UILabel * titleLabel; + +@end + +@implementation WMSigleAlertView + +- (void)showAlertViewTitle:(NSString *)title bgView:(UIView *)bgView +{ + CGRect bounds = [title boundingRectWithSize:CGSizeMake(1000, 28) options:NSStringDrawingUsesLineFragmentOrigin attributes:[NSDictionary dictionaryWithObject:WMMediumFont(13.f) forKey:NSFontAttributeName] context:nil]; + self.titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, bounds.size.width + 30, 26)]; + self.titleLabel.center = bgView.center; + self.titleLabel.backgroundColor = ColorRGB(0, 0, 0, 0.8); + self.titleLabel.layer.cornerRadius = 5; + self.titleLabel.clipsToBounds = YES; + self.titleLabel.font = WMLightFont(14.f); + self.titleLabel.textColor = [UIColor whiteColor]; + self.titleLabel.text = title; + self.titleLabel.textAlignment = NSTextAlignmentCenter; + [bgView addSubview:_titleLabel]; + + [self shakeUpShow:_titleLabel]; + [self openTimeByRuntime]; +} + +#pragma mark --- 添加动画 --- +- (void)shakeUpShow:(UIView *)shakeView +{ + CAKeyframeAnimation *animation = [CAKeyframeAnimation animationWithKeyPath:@"transform"]; + NSMutableArray *mutableArray = [NSMutableArray array]; + NSValue *value1 = [NSValue valueWithCATransform3D:CATransform3DMakeScale(0.1, 0.1, 1.0)]; + NSValue *value2 = [NSValue valueWithCATransform3D:CATransform3DMakeScale(1.2, 1.2, 1.0)]; + NSValue *value3 = [NSValue valueWithCATransform3D:CATransform3DMakeScale(0.9, 0.9, 1.0)]; + NSValue *value4 = [NSValue valueWithCATransform3D:CATransform3DMakeScale(1.0, 1.0, 1.0)]; + [mutableArray addObject:value1]; + [mutableArray addObject:value2]; + [mutableArray addObject:value3]; + [mutableArray addObject:value4]; + animation.duration = 0.5; + animation.values = [mutableArray copy]; + [shakeView.layer addAnimation:animation forKey:nil]; +} + +#pragma mark --- 开启计时器 --- +- (void)openTimeByRuntime +{ + self.timer = [NSTimer timerWithTimeInterval:1.2 target:self selector:@selector(dismissViewAction) userInfo:nil repeats:NO]; + if (self.timer != nil) { + [[NSRunLoop currentRunLoop] addTimer:_timer forMode:NSDefaultRunLoopMode]; + } +} + +- (void)dismissViewAction +{ + if (_timer != nil) { + [self.timer invalidate]; + self.timer = nil; + } + [UIView beginAnimations:nil context:nil]; + [UIView setAnimationCurve:UIViewAnimationCurveEaseIn]; + [UIView setAnimationDuration:1.4]; + [UIView setAnimationDelegate:self]; + self.titleLabel.hidden = YES; + [self.titleLabel removeFromSuperview]; + [UIView commitAnimations]; +} + +@end From 20fb6cea0486ad11d0c402414f5a7e1118a0f99f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=AF=E6=96=87=E7=A7=80?= <1246341193@qq.com> Date: Tue, 2 May 2017 14:55:53 +0800 Subject: [PATCH 4/4] Build --- .../UserInterfaceState.xcuserstate | Bin 12530 -> 12530 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/CustomScrollViewDemo.xcodeproj/project.xcworkspace/xcuserdata/Hera.xcuserdatad/UserInterfaceState.xcuserstate b/CustomScrollViewDemo.xcodeproj/project.xcworkspace/xcuserdata/Hera.xcuserdatad/UserInterfaceState.xcuserstate index 2e4fa13e01e5cca5be62ed3f51e556549208c81c..2e2c637027276d8e0cf05084ce43aa265d39a89a 100755 GIT binary patch delta 33 ncmeyA_$hHiH79GzD$9*2n;STviGi4HCX*XDMK;$f6bk?V|A!5K delta 33 ocmeyA_$hHiH79HGovVzGHaBoS69Y1@91ED-z$vo1UZGe302==fLI3~&