にある の視点を変更しUIView
たいViewcontroller
。このUIViewレイヤーを変換しなければならないと思うのですが、方法がわかりません。
次のコードを試しましたが、機能しません
UIView *myView = [[self subviews] objectAtIndex:0];
CALayer *layer = myView.layer;
CATransform3D rotationAndPerspectiveTransform = CATransform3DIdentity;
rotationAndPerspectiveTransform.m34 = 1.0 / -500;
rotationAndPerspectiveTransform = CATransform3DRotate(rotationAndPerspectiveTransform, 45.0f * M_PI / 180.0f, 0.0f, 1.0f, 0.0f);
layer.transform = rotationAndPerspectiveTransform;
次のコードでも試しました。
-(void)drawRect:(CGRect)rect {
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGAffineTransform transform = CGAffineTransformIdentity;
transform.b = -0.1;
transform.a = 0.9;
CGContextConcatCTM(ctx,transform);
// do drawing on the context
}
そしてこれも:
CALayer *layerA = [[self.view.layer sublayers] objectAtIndex:0];
layerA.transform = CATransform3DConcat(layerA.transform, CATransform3DMakeRotation(DEGREES_TO_RADIANS(45),1.0,0.0,0.0)
どちらも機能しませんでした。の視点を変更するにはどうすればよいUIView
ですか?
つまり、例を挙げます。このサンプル コード、回転 Pie RotationPie sampleをイメージしてください。xまたはz軸で、その遠近法を変更したいと思います。