1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| CATransformLayer * container = [CATransformLayer layer]; container.frame = CGRectMake(100, 100, 200, 200); [self.view.layer addSublayer:container];
CATransform3D t = CATransform3DIdentity;
t.m34 = 1.0 / -500; t = CATransform3DRotate(t, M_PI_4, 0, 1, 0); container.transform = t;
CALayer * purplePlane = [CALayer layer]; purplePlane.backgroundColor = UIColor.purpleColor.CGColor; purplePlane.frame = CGRectMake(0, 0, 50, 50); [container addSublayer:purplePlane]; t = CATransform3DIdentity; t = CATransform3DTranslate(t, 0, 0, -10); purplePlane.transform = t;
CALayer * redPlane = [CALayer layer]; redPlane.backgroundColor = UIColor.redColor.CGColor; redPlane.frame = CGRectMake(0, 0, 50, 50); [container addSublayer:redPlane]; t = CATransform3DIdentity; t = CATransform3DTranslate(t, 0, 0, -50); redPlane.transform = t;
|