Как повернуть UIImageView с помощью CATransform3DRotate, чтобы создать эффект, подобный открытию двери?

Я прочитал и попробовал эту статью (Эффект открытия двери с использованием Core Animation)

И я реализую следующий код в своем приложении:

    CALayer *layer = threeHomeView.layer;
CATransform3D initialTransform = threeHomeView.layer.transform;
initialTransform.m34 = 1.0 / -900;

[UIView beginAnimations:@"Scale" context:nil];
[UIView setAnimationDuration:3];
layer.transform = initialTransform;
CATransform3D rotationAndPerspectiveTransform = threeHomeView.layer.transform;

rotationAndPerspectiveTransform = CATransform3DRotate(rotationAndPerspectiveTransform
                                                      , 40.0f * M_PI / 180.0f
                                                      , 0.0f
                                                      , 1.0f
                                                      , 0.0f);
layer.transform = rotationAndPerspectiveTransform;

[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(threeHomeFlyOut)];
[UIView commitAnimations];  

threeHomeView - это UIImageView.

МОЙ ВОПРОС: изображение может вращаться только по средней вертикальной линии изображения, но я хочу, чтобы оно вращалось по левой вертикальной линии изображения.

14
задан Community 23 May 2017 в 12:10
поделиться