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
,