Я пытаюсь применить перспективное преобразование для моего объекта UIView с помощью следующего кода:Применить преобразование к UIView Самой
CATransform3D t = CATransform3DIdentity;
t.m34 = -1.0/1000;
t = CATransform3DRotate(t, angle, 0.0f, 1.0f, 0.0f);
myView.layer.transform = t;
, и я не вижу никакого эффекта вообще. Я пробовал другие преобразования как простой перевод, и они тоже не работают.
Однако, если я делаю одно из следующих двух модификаций, то он будет работать несколько, но ни удовлетворяет мой запрос:
Изменение последней строки в
myView.layer.sublayerTransform = т;
Этот вид работ, но он только преобразует subviews на myView, а не myView.
Добавить код анимации, чтобы применить изменения, вместо того, чтобы непосредственно назначить изменения в слое:
CABasicAnimation * turningAnimation = [CABasicAnimation animationWithKeyPath: @ "преобразования"]; turnAnimation.toValue = [Значение NSValueWATCATransform3D: t]; turnAnimation.delegate = self; turnAnimation.fillMode = kCAFillModeForwards; turnAnimation.removedOnCompletion = NO;
[myView.layer addAnimation: turnAnimation forKey: @ "turn"];
Дело в том, что я не хочу анимацию.
Может ли кто-нибудь указать направление для меня?
Спасибо!
Какой угол вы предоставили? – Krishnan
Это произвольный угол, такой как 45.0f * M_PI/180.0 – CodePlumber
Он работает для меня с любым произвольным углом ... – Krishnan