如果说你想实现动画效果,必须通过 beginAnimations 和 comtiAnimations 来标记动画的开始与结束的时间点
下面就介绍这种制作动画效果的方法
步骤:
1. UIView执行 beginAnimations 方法 (开始)
2.设置一下动画执行的一些属性 比如duration delay repeatCount 等等
3.改变视图的某些可以用来做动画的属性 这个视图就是你想做动画的那个视图
4. UIView执行 comtiAnimations 方法 (结束)
话不多说上 代码
[UIView beginAnimations:@"TM" context:@"tm"]; //标记动画开始 字符用于标记
// 设置动画的一些属性
[UIView setAnimationDuration:0.1]; // 设置动画的执行时间
[UIView setAnimationDelay:0]; // 规定动画延时 执行
[UIView setAnimationRepeatCount:200]; // 设定动画执行次数
// 改变动画视图的可做动画属性的值实现动画效果
self.animationImageView.backgroundColor = [UIColor colorWithRed:arc4random()% 256 / 255.0 green:arc4random()% 256 / 255.0 blue:arc4random()% 256 / 255.0 alpha:1];
self.animationImageView.frame = CGRectMake(100, 400, 100, 100);
self.animationImageView.transform = CGAffineTransformMakeRotation(M_PI); // 旋转
self.animationImageView.transform = CGAffineTransformMakeScale(1, 2); // 改变比例(大小)
// 设置动画的代理对象
[UIView setAnimationDelegate:self];
// 设置了动画的代理之后需要让代理对象在动画开始或者结束时执行方法
[UIView setAnimationWillStartSelector:@selector(animationDidStart:context:)];
[UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:context:)];
[UIView commitAnimations]; // 标记动画结束
// 动画代理对象执行的方法 我这里只是打印一下,显示代码走的过程 根据具体需要实现
- (void)animationDidStart:(NSString *)animationID context:(void *)context
{
NSLog(@"%@", context);
}
- (void)animationDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context
{
}
✨ 动画实现跳转 特别炫的技能 setAnimationTransition是一个 跳转样式的 枚举
// 动画实现页面切换
[UIViewsetAnimationTransition:UIViewAnimationTransitionCurlDownforView:self.view.superviewcache:YES];
!!注意:这里容易出现逻辑错误,导致页面跳转后不显示要显示的内容