Я пытаюсь применить перспективное преобразование к моему объекту 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 = t;
Такой вид работает, но он преобразует только подпредставления в myView, а не сам myView.
Добавьте код анимации, чтобы применить изменение вместо того, чтобы напрямую назначать изменение слою:
CABasicAnimation * TurnAnimation = [CABasicAnimation animationWithKeyPath: @ "преобразование"]; TurnAnimation.toValue = [NSValue valueWithCATransform3D: t]; TurnAnimation.delegate = self; TurnAnimation.fillMode = kCAFillModeForwards; TurnAnimation.removedOnCompletion = НЕТ;
[myView.layer addAnimation: TurnAnimation forKey: @ "поворота"];
Дело в том, что мне не нужна анимация.
Кто-нибудь может указать мне направление?
Спасибо!