tabBarItem添加动画效果

 1 - (void)viewDidLoad {
 2 
 3     [super viewDidLoad];
 4 
 5     // Do any additional setup after loading the view, typically from a nib.
 6 
 7     UIView  *view =[[UIView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];
 8 
 9     view.backgroundColor =[UIColor redColor];
10 
11     [self.view addSubview:view];
12 
13     [self heartbeatView:view duration:100];
14 
15 }
16 
17 
18 
19 -(void)heartbeatView:(UIView *)view duration:(CGFloat)fDuration
20 
21 {
22 
23     [[self class] heartbeatView:view duration:fDuration maxSize:1.4f durationPerBeat:0.5f];
24 
25 }
26 
27 +(void)heartbeatView:(UIView *)view duration:(CGFloat)fDuration maxSize:(CGFloat)fMaxSize durationPerBeat:(CGFloat)fDurationPerBeat
28 
29 {
30 
31     if (view && (fDurationPerBeat > 0.1f))
32 
33     {
34 
35         CAKeyframeAnimation *animation = [CAKeyframeAnimation animationWithKeyPath:@"transform"];
36 
37         
38 
39         CATransform3D scale1 = CATransform3DMakeScale(0.8, 0.8, 1);
40 
41         CATransform3D scale2 = CATransform3DMakeScale(fMaxSize, fMaxSize, 1);
42 
43         CATransform3D scale3 = CATransform3DMakeScale(fMaxSize - 0.3f, fMaxSize - 0.3f, 1);
44 
45         CATransform3D scale4 = CATransform3DMakeScale(1.0, 1.0, 1);
46 
47         
48 
49         NSArray *frameValues = [NSArray arrayWithObjects:
50 
51                                 [NSValue valueWithCATransform3D:scale1],
52 
53                                 [NSValue valueWithCATransform3D:scale2],
54 
55                                 [NSValue valueWithCATransform3D:scale3],
56 
57                                 [NSValue valueWithCATransform3D:scale4],
58 
59                                 nil];
60 
61         
62 
63         [animation setValues:frameValues];
64 
65         
66 
67         NSArray *frameTimes = [NSArray arrayWithObjects:
68 
69                                [NSNumber numberWithFloat:0.05],
70 
71                                [NSNumber numberWithFloat:0.2],
72 
73                                [NSNumber numberWithFloat:0.6],
74 
75                                [NSNumber numberWithFloat:1.0],
76 
77                                nil];
78 
79         [animation setKeyTimes:frameTimes];
80 
81         
82 
83         animation.fillMode = kCAFillModeForwards;
84 
85         animation.duration = fDurationPerBeat;
86 
87         animation.repeatCount = fDuration/fDurationPerBeat;
88 
89         
90 
91         [view.layer addAnimation:animation forKey:@"heartbeatView"];
92 
93     }else{}
94 
95 }

 

转载于:https://www.cnblogs.com/chenyihang/p/5706796.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值