「CALayers」を使用していくつかのフォームを作成するアプリを実装しています。例えば :
testLayer = [CALayer layer];
testLayer.frame = layerRect;
testLayer.position = self.view.center;
CGFloat degrees = 90.0;
CGFloat radians = DegreesToRadians(degrees);
CATransform3D rotation = CATransform3DMakeRotation(radians, 0.0, 1.0, 0.0);
CATransform3D translation = CATransform3DMakeTranslation(Layer_Size/2, 0.0, Layer_Size/-2);
CATransform3D position = CATransform3DConcat(rotation, translation);
testLayer.transform = position;
このレイヤーは次のように追加されます:
transformLayer = [CATransformLayer layer];
[transformLayer addSublayer:testLayer];
transformLayer.anchorPointZ = Layer_Size/-2;
しかし、testLayer 上にあり、testLayerPoint (サイズ 1x1 の「UIView」タイプ) という名前のポイントの Z 値を取得したいのは、次のような主ビューの平面図に座標を投影したい場合です。
CGRect rectTest = [testLayerPoint.layer convertRect:[[testLayerPoint.layer presentationLayer] frame] toLayer:self.view.layer];
コード :
NSLog(@"%f", rectTest.x);
正しい座標が得られない...だから、Z値を直接取得したい。
ありがとう !