1

私は CATransform3D の初心者です。このコードを使用して、UIImageView で 3D 変換効果を作成するのは真実です。

CALayer *layer = imageView.layer;
CATransform3D rotationAndPerspectiveTransform = CATransform3DIdentity;
rotationAndPerspectiveTransform.m34 = 1.0 / -500;
rotationAndPerspectiveTransform = CATransform3DRotate(rotationAndPerspectiveTransform, aSlider.value, xSlider.value, ySlider.value, zSlider.value);
layer.transform = rotationAndPerspectiveTransform;

私の問題は、変換後の UIImageView がビューを切り抜け、サブビュー配列でビューの上にあることです。変身前です 変身前

そして変身後です。

ここに画像の説明を入力

別のビューを重ねることなく、イメージビューを変換するだけです。これどうやってするの?

PS。下手な英語と大きな画像で申し訳ありません。

4

1 に答える 1

2

@Padavan、レイヤーのZ軸が交差しているように見えます。

これを試して:

CGFloat zOrigin = -100; // You can change this value as required.
layer.transform = CATransform3DMakeTranslation(0, 0,zOrigin);

これによりレイヤーが押し戻され、交差しなくなります。

それが役に立てば幸い。

于 2013-07-16T09:16:06.660 に答える