iOS如何实现字体抖动动画
更新:HHH   时间:2023-1-8


小编给大家分享一下iOS如何实现字体抖动动画,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

具体内容如下

一、效果图

二、代码

ViewController.m

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
 [super viewDidLoad];
 // Do any additional setup after loading the view, typically from a nib.
 
 UIButton *button=[UIButton buttonWithType:UIButtonTypeRoundedRect];
 button.frame=CGRectMake(10, 100, 100, 200);
 button.backgroundColor=[UIColor redColor];
 [button setTitle:@"按钮" forState:UIControlStateNormal];
 [self.view addSubview:button];
 
 //按钮的动画效果
 [self buttonAnimation:button];
 
 
}

//按钮出现的时候有一个动画效果
- (void)buttonAnimation:(UIButton *)sender
{
 CAKeyframeAnimation *animation = [CAKeyframeAnimation animationWithKeyPath:@"transform"];
 
 CATransform3D scale1 = CATransform3DMakeScale(0.5, 0.5, 1);
 CATransform3D scale2 = CATransform3DMakeScale(1.2, 1.2, 1);
 CATransform3D scale3 = CATransform3DMakeScale(0.9, 0.9, 1);
 CATransform3D scale4 = CATransform3DMakeScale(1.0, 1.0, 1);
 
 NSArray *frameValues = [NSArray arrayWithObjects:
       [NSValue valueWithCATransform3D:scale1],
       [NSValue valueWithCATransform3D:scale2],
       [NSValue valueWithCATransform3D:scale3],
       [NSValue valueWithCATransform3D:scale4],
       nil];
 
 [animation setValues:frameValues];
 
 NSArray *frameTimes = [NSArray arrayWithObjects:
       [NSNumber numberWithFloat:0.0],
       [NSNumber numberWithFloat:0.5],
       [NSNumber numberWithFloat:0.9],
       [NSNumber numberWithFloat:1.0],
       nil];
 [animation setKeyTimes:frameTimes];
 
 animation.fillMode = kCAFillModeForwards;
 animation.duration = 0.3f;
 
 [sender.layer addAnimation:animation forKey:@"DSPopUpAnimation"];
}

看完了这篇文章,相信你对“iOS如何实现字体抖动动画”有了一定的了解,如果想了解更多相关知识,欢迎关注天达云行业资讯频道,感谢各位的阅读!

返回移动开发教程...