Понимание CATransform3D - PullRequest
       47

Понимание CATransform3D

6 голосов
/ 31 июля 2011

Я играю с CATransform3DMakeRotation в UIView, и я пытаюсь сделать 45º, преобразовать, как будто он лежит назад:

http://cl.ly/2A2p1W1e2N3a1W181r35

Это «код», который у меня есть, но он явно не делает.

CATransform3D _tr = CATransform3DMakeRotation(3.14/4, 1, 0, 0);
view.layer.transform = _tr;

пожалуйста, помогите мне понять параметры. Спасибо.

1 Ответ

4 голосов
/ 31 июля 2011

По сути, ваш код верен, но чтобы получить эффект перспективы, вам нужно установить sublayerTransform слоя суперпредставления на что-то вроде этого:

CATransform3D perspectiveTransform = CATransform3DIdentity;
perspectiveTransform.m34 = 1.0 / -850;
myView.layer.sublayerTransform = perspectiveTransform;

Вы можете поэкспериментировать с различными значениями для различного количества искажений.

...