【发布时间】:2018-11-10 12:41:28
【问题描述】:
我正在读一本关于动画的书iOS Core Animation: Advanced Techniques。这本书是用Objective C编写的。我对Objective C并不流利。我理解.m34属性的作用,但是当我将本书的代码应用于Swift时,视角并没有改变。问题是我似乎无法添加到像 explained here 这样的现有转换中。
我的代码:
var tranform = CATransform3DIdentiy
transfrom.m34 = -1 / 500
transform = CATransform3DMakerotation(CGFloat(Double.pi/4), 0, 1, 0) // this is just creating a new transform instead of adding to the existing one
viewIwantTransformed.layer.transfrom = transform
图书代码:
@implementation ViewController
- (void) viewDidLoad
{ [super viewDidLoad];
// create a new transform CATransform3D
transform = CATransform3DIdentity;
// apply perspective
transform.m34 = - 1.0 / 500.0;
// rotate by 45 degrees along the Y axis
transform = CATransform3DRotate( transform, M_PI_4, 0, 1, 0);
// apply to layer
self.viewIwantTransformed.layer.transform = transform;
} @end
结果
【问题讨论】:
-
试试这一行 transform = CATransform3DRotate(transform, M_PI_4, 0, 1, 0)
-
@Jigar Darji 嘿,谢谢!如果你把它作为官方答案,我会接受它
-
接受我的回答
-
它说我要等 4 分钟
-
ok np 之后尝试
标签: ios swift catransform3d