0

我有一个 CATransform3D 动画,旨在替换我的应用程序中当前使用的 Push 动画。目前,它像 X 轴在图层/视图的中心一样旋转。但是,我希望 X 轴位于屏幕边缘,以便它翻转出屏幕。我目前的代码是: -

    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:0.5];
    CATransform3D rotationAndPerspectiveTransform = CATransform3DIdentity;
    rotationAndPerspectiveTransform.m34 = 1.0 / 500;
    rotationAndPerspectiveTransform = CATransform3DRotate(rotationAndPerspectiveTransform, 1.57, 0, 1, 0);
    self.view.layer.transform = rotationAndPerspectiveTransform;
    [UIView commitAnimations];

我是 Core Graphics 等的新手,所以我将不胜感激任何指针,提示,我出错的地方!

4

1 回答 1

1

您应该更改anchorPoint图层的。在方法之前使用以下代码beginAnimations:context:

CGRect frame = self.view.layer.frame;
self.view.layer.anchorPoint = CGPointMake(1.f, 0.5f);
self.view.layer.frame = frame;

这将在anchorPoint不改变图层位置的情况下更改图层的。旋转动画将围绕从锚点经过的轴完成。

于 2012-12-14T22:32:54.317 回答