设置视图对象的transform属性,可以实现各种动画效果。
1,移动
指在同一平面内,将控件按照某个直线方向平移一定的距离。
1
2
3
4
5
|
//每次都从当前位置平移 self .imageView.transform = CGAffineTransformTranslate ( self .imageView.transform, -2.1, -2.1) //每次都从最开始的位置计算平移 self .imageView.transform = CGAffineTransformMakeTranslation (2.3, 2.3) |
2,旋转
1
2
3
4
5
6
7
8
|
//连续旋转 UIView .beginAnimations( nil , context: nil ) UIView .setAnimationDuration(3.0) //设置动画时间 self .imageView.transform = CGAffineTransformRotate ( self .imageView.transform, CGFloat (- M_PI /2)) UIView .commitAnimations() //独立旋转,以初始位置旋转 self .imageView.transform = CGAffineTransformMakeRotation ( CGFloat (- M_PI /4)) |
3,缩放
1
2
3
4
5
6
7
8
|
//连续缩放 UIView .beginAnimations( nil , context: nil ) UIView .setAnimationDuration(3.0) //设置动画时间 self .imageView.transform = CGAffineTransformScale ( self .imageView.transform, 1.5 ,1.5) UIView .commitAnimations() //独立缩放,以初始位置缩放 self .imageView.transform = CGAffineTransformMakeScale (1.3, 1.3) |
4,反转
1
2
3
4
5
6
7
8
9
10
11
12
|
//返回初始状态 self .imageView.transform = CGAffineTransformIdentity //连续反转 UIView .beginAnimations( nil , context: nil ) UIView .setAnimationDuration(3.0) //设置动画时间 self .imageView.transform = CGAffineTransformConcat ( self .imageView.transform, CGAffineTransformInvert ( self .imageView.transform)) UIView .commitAnimations() //独立反转,以初始位置反转 self .imageView.transform = CGAffineTransformInvert ( self .imageView.transform) |