四個面對立方體:
CATransform3D pt = CATransform3DIdentity;
pt.m34 = -1.0/500.0;
self.containerView.layer.sublayerTransform = pt;
_cubeLayer = [CATransformLayer layer];
CALayer *face1 = [CALayer layer];
face1.backgroundColor = [UIColor redColor].CGColor;
face1.frame = CGRectMake(0, 0, 100, 100);
face1.transform = CATransform3DTranslate(face1.transform, 0, 0, 50);
[_cubeLayer addSublayer:face1];
CALayer *face2 = [CALayer layer];
face2.backgroundColor = [UIColor greenColor].CGColor;
face2.frame = CGRectMake(0, 0, 100, 100);
face2.transform = CATransform3DTranslate(face2.transform, 0, 50, 0);
face2.transform = CATransform3DRotate(face2.transform, M_PI/2, 1, 0, 0);
[_cubeLayer addSublayer:face2];
CALayer *face3 = [CALayer layer];
face3.backgroundColor = [UIColor yellowColor].CGColor;
face3.frame = CGRectMake(0, 0, 100, 100);
face3.transform = CATransform3DTranslate(face3.transform, 0, -50, 0);
face3.transform = CATransform3DRotate(face3.transform, M_PI/2, 1, 0, 0);
[_cubeLayer addSublayer:face3];
CALayer *face4 = [CALayer layer];
face4.backgroundColor = [UIColor blueColor].CGColor;
face4.frame = CGRectMake(0, 0, 100, 100);
face4.transform = CATransform3DTranslate(face4.transform, 0, 0, -50);
[_cubeLayer addSublayer:face4];
_cubeLayer.frame = CGRectMake(0, 0, 100, 100);
[self.containerView.layer addSublayer:_cubeLayer];
旋轉:
self.cubeLayer.transform = CATransform3DRotate(_cubeLayer.transform, M_PI/2, 1, 0, 0);
結果:
有SceneKit它可以讓你加載3D對象和旋轉它們。這裏有一個教程:http://www.ioscreator.com/tutorials/scene-kit-primitives-tutorial-swift – Zhang 2015-02-23 04:23:47
我已經檢查過,但我無法弄清楚是否有一些方法可以在立方體的面上添加文本。 – ayna 2015-02-23 04:42:02
只需將文本作爲紋理添加到您的多維數據集? (這導致第二個問題)。 – Zhang 2015-02-23 04:56:49