1.简易动画
-
头尾式
[UIView beginAnimations:nil context:nil];
/** 需要执行动画的代码 **/
/** 提交 **/
[UIView commitAnimations];
-
Block式
[UIView animateWithDuration:0.5 animations:^{
/** 需要执行动画的代码 **/
}];
tip:transform属性
利用transform属性可以修改控件的位移(位置)、缩放、旋转
创建一个transform属性(仔细看这里的方法名,里面有个Make,是和下面进行叠加方法最大的区别)
CGAffineTransform CGAffineTransformMakeTranslation(CGFloat tx, CGFloat ty) ;
CGAffineTransform CGAffineTransformMakeScale(CGFloat sx, CGFloat sy);
CGAffineTransform CGAffineTransformMakeRotation(CGFloat angle)
(注意:angle是弧度制,并不是角度制)
在某个transform的基础上进行叠加
CGAffineTransformCGAffineTransformTranslate(CGAffineTransform t, CGFloat tx, CGFloat ty);
CGAffineTransformCGAffineTransformScale(CGAffineTransform t, CGFloat sx, CGFloat sy);
CGAffineTransformCGAffineTransformRotate(CGAffineTransform t, CGFloat angle);
清空之前设置的transform属性
view.transform = CGAffineTransformIdentity;
- block 式 "带完成的block"
[UIView animateWithDuration:2.0f animations:^{
需要执行的代码
self.hudLabel.alpha = 1.0;
self.hudLabel.text = @"感觉满满的";
} completion:^(BOOL finished) {
[UIView animateWithDuration:2.0f animations:^{
需要执行的代码
self.hudLabel.alpha = 0.0f;
}];
}];
-
block 式 "带完成的block 延迟的时间"
[UIView animateWithDuration:1.0f animations:^{ 需要执行的代码 self.hudLabel.alpha = 1.0f; } completion:^(BOOL finished) { 延迟十秒 执行动画的代码 执行时间 是 2.0f [UIView animateWithDuration:1.0f delay:1.0f options:kNilOptions animations:^{ 需要执行的代码 self.hudLabel.alpha = 0.0f; } completion:^(BOOL finished) { }]; }];