CALayer的transform属性可以实现3D空间内的平移,旋转和缩放
imageView.layer.transform = CATransform3DMakeRotation(M_PI/6, 0, 0, 1);//绕Z轴旋转30度
imageView.layer.transform = CATransform3DMakeRotation(M_PI/6, 0, 1, 0);//绕Y轴旋转30度
imageView.layer.transform = CATransform3DMakeRotation(M_PI/6, 1, 0, 0);//绕X轴旋转30度
CATransform3D :
{
CGFloat m11(x缩放), m12(y切变), m13(), m14();
CGFloat m21(x切变), m22(y缩放), m23(), m24();
CGFloat m31(), m32(), m33(), m34(透视效果,要操作的这个对象要有旋转的角度,否则没有效果。当然,z方向上得有变化才会有透视效果);
CGFloat m41(x平移), m42(y平移), m43(z平移), m44();
};
缩放实现代码
CATransform3D transform = CATransform3DIdentity;
transform.m11 = 0.5; // X轴缩放
transform.m22 = 0.5; // Y轴缩放
transform = CATransform3DRotate(transform(M_PI/180*40), 0, 1, 0)
imageView.layer.transform = transform
平移实现代码
var transTo = CATransform3DMakeTranslation(200, 200, 0); //X,Y轴同时平移200
imageView.layer.transform = transTo
网友评论