target-с CALayer UIView реальная ротация

Я пытаюсь повернуть объект UIView, как показано на изображении ниже http://i.piccy.info/i7/f8ff7fe488c7c492e6ff6a689bc9cdeb/1-5-2127/60800682/rotation.png

Я пытаюсь использовать преобразование CALayer, но получаю что-то вроде этого: http://i.piccy.info/i7/bbb672b058fdfdd251cc90f1ce2b9c1f/1-5-2128/9488743/rotate2.png

Может ли кто-нибудь помочь мне с этим, пожалуйста?

1 ответ

Решение

Если я правильно понимаю, вы хотите заголовок представления назад (в экран) и должен быть в состоянии достичь этого примерно так:

float distance = 50;

CATransform3D basicTrans = CATransform3DIdentity;
basicTrans.m34 = 1.0 / -distance;
view.layer.transform = CATransform3DRotate(basicTrans, M_PI_4, 1.0f, 0.0f, 0.0f);

Для достижения этого эффекта вам нужно напрямую манипулировать одним из значений преобразования (m34). Нижний distance получает, тем сильнее становится эффект. Затем вы можете выполнить преобразование вращения вокруг оси x (для наклона), в этом случае PI/4 или 45 градусов. Вы можете рассчитать произвольные значения пи, используя degrees * M_PI / 180.0,

Другие вопросы по тегам