// // LXShareImageVIew.m // shreImgAnimition // // Created by imac on 16/9/5. // Copyright © 2016年 xiang. All rights reserved. // #import "LXShareImageVIew.h" #define SHAREVIEW_HEIGHT 160 #define COLOR_MIAN [UIColor colorWithRed:65.0/256.0 green:65.0/256.0 blue:65.0/256.0 alpha:1] #define kScreenSize [UIScreen mainScreen].bounds.size @interface LXShareImageVIew (){ //bool displayingPrimary; NSTimer *timer; } @end @implementation LXShareImageVIew @synthesize primaryView=_primaryView, scrollView=_scrollView ,spinTime; -(id)initWithFrame:(CGRect)frame{ self = [super initWithFrame:frame]; if (self) { // Initialization code [self setData]; self.backgroundColor = [UIColor clearColor]; //self.alpha = 0.4; spinTime = 1.0; [self setUp]; } return self; } -(void)setData{ self.titles = @[@"微信",@"朋友圈",@"QQ",@"微博"]; self.imges = @[@"ifish_sharewechat",@"ifish_sharecircle",@"ifish_shareqq",@"ifish_shareblog"]; } //- (void) setPrimaryView:(UIView *)primaryView{ // // _primaryView = primaryView; // // CGRect frame = CGRectMake(0, 0, self.frame.size.width, self.frame.size.height); // [self.primaryView setFrame: frame]; // // [self roundView: self.primaryView]; // self.primaryView.userInteractionEnabled = YES; // UITapGestureRecognizer *gesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(flipTouched:)]; // gesture.numberOfTapsRequired = 1; // [self.primaryView addGestureRecognizer:gesture]; // //} - (void) roundView: (UIView *) view{ [view.layer setCornerRadius: (self.frame.size.height/2)]; [view.layer setMasksToBounds:YES]; } -(void)flipTouched:(id)sender { // [UIView transitionWithView:self.primaryView duration:spinTime options:UIViewAnimationOptionTransitionFlipFromLeft+UIViewAnimationOptionCurveEaseInOut animations:^{ // // // } completion:^(BOOL finished) { // // // }]; } -(void)setUp{ if (!self.blackOverBack) { self.blackOverBack = [[UIControl alloc] init]; self.blackOverBack.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight; } self.blackOverBack.frame = self.bounds; UIColor *maskColor = [UIColor colorWithWhite:0.0 alpha:0.2]; self.blackOverBack.backgroundColor = maskColor; [self addSubview:self.blackOverBack]; [self.blackOverBack addTarget:self action:@selector(dissmissView) forControlEvents:UIControlEventTouchUpInside]; CGFloat spaceW = 20; CGFloat itemW= (kScreenSize.width - spaceW *5)/4; self.scrollView =[[UIScrollView alloc] init]; CGFloat scrollH= 60 + itemW +spaceW; CGRect frame = CGRectMake(0,kScreenSize.height -scrollH, self.frame.size.width,scrollH); [self.scrollView setFrame:frame]; self.scrollView.backgroundColor = COLOR_MIAN; self.scrollView.alpha = 1; self.scrollView.showsVerticalScrollIndicator = NO; self.scrollView.showsHorizontalScrollIndicator = NO; self.scrollView.contentSize = CGSizeMake((spaceW + itemW) *self.titles.count , 160); [self.blackOverBack addSubview:self.scrollView]; self.imgsArr = [[NSMutableArray alloc] init]; for (NSInteger i =0; i <=3; i++ ) { UIButton *imgbtn =[UIButton buttonWithType:UIButtonTypeCustom]; imgbtn.frame = CGRectMake(spaceW*(i+1) + itemW*i, 20, itemW, itemW); [imgbtn addTarget:self action:@selector(sharebtnClick:) forControlEvents:UIControlEventTouchUpInside]; [imgbtn setImage:[UIImage imageNamed:self.imges[i]] forState:UIControlStateNormal]; imgbtn.tag = i; [self.scrollView addSubview:imgbtn]; [self.imgsArr addObject:imgbtn]; UILabel *title=[[UILabel alloc] initWithFrame:CGRectMake(spaceW*(i+1) + itemW*i, 20 + itemW +20 , itemW, 20)]; title.text = self.titles[i]; title.textAlignment = NSTextAlignmentCenter; title.textColor = [UIColor whiteColor]; [self.scrollView addSubview:title]; } } -(void)shareShow{ UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow; [UIView animateWithDuration:0.38 animations:^{ [keyWindow addSubview:self]; }]; } -(void)layoutSubviews{ timer = [NSTimer scheduledTimerWithTimeInterval:0.3 target:self selector:@selector(showAnima) userInfo:nil repeats:NO]; } -(void)showAnima{ [self.imgsArr enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { UIButton*btn=(UIButton *)obj; CGRect animationFrame = CGRectMake(btn.frame.origin.x, btn.frame.origin.y +10, btn.frame.size.width, btn.frame.size.height); [UIView animateWithDuration:1.0 delay:1.0 usingSpringWithDamping:0.2 initialSpringVelocity:0 options: UIViewAnimationOptionAllowUserInteraction animations:^{ btn.frame = animationFrame; } completion:^(BOOL finished) { }]; if (stop) { [self TransitionFlipanimations]; } }]; } -(void)TransitionFlipanimations{ [self.imgsArr enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { if (idx ==0) { [UIView transitionWithView:obj duration:0.7 options:UIViewAnimationOptionTransitionFlipFromLeft+UIViewAnimationOptionCurveEaseInOut animations:^{ } completion:^(BOOL finished) { }]; NSLog(@"......0"); }else if (idx ==1){ [UIView transitionWithView:obj duration:0.8 options:UIViewAnimationOptionTransitionFlipFromLeft +UIViewAnimationOptionCurveEaseInOut animations:^{ } completion:^(BOOL finished) { }]; NSLog(@"......1"); }else if (idx ==2){ [UIView transitionWithView:obj duration:0.9 options:UIViewAnimationOptionTransitionFlipFromLeft +UIViewAnimationOptionCurveEaseInOut animations:^{ } completion:^(BOOL finished) { }]; NSLog(@"......2"); }else if (idx ==3){ [UIView transitionWithView:obj duration:1.0 options:UIViewAnimationOptionTransitionFlipFromLeft +UIViewAnimationOptionCurveEaseInOut animations:^{ } completion:^(BOOL finished) { }]; NSLog(@"......3"); } }]; } -(void)sharebtnClick:(UIButton *)btn{ for (NSInteger i = 0; i