Манипулирование CATransform3D слоя UIView и CGAffineTransform UIView одновременно

Это может показаться странным вопросом, но то, что я пытаюсь сделать, не очень странно. В настоящее время я изменяю размер UIView с помощью CGAffineTransform вида следующим образом:

self.selectedController.view.transform = CGAffineTransformScale(CGAffineTransformIdentity, resizeRatioValue, resizeRatioValue); 

Если resizeRatioValue является значением между 0.7-1.0, в зависимости от местоположения жеста. Это отлично работает. С жесткой рукой я могу красиво скрыть свой взгляд.

Теперь я хотел бы добавить еще один поворот. По мере уменьшения представления я хотел бы применить поворот к представлению (аналогично эффекту покрытия), чтобы он одновременно вращался и сжимался.

Я могу просто повернуть представление, используя этот код:

 float angle = 45.0 * progressRatio; CATransform3D rotationAndPerspectiveTransform = CATransform3DIdentity; rotationAndPerspectiveTransform.m34 = 1.0 / 2000; // Perspective rotationAndPerspectiveTransform = CATransform3DRotate(rotationAndPerspectiveTransform, 1 * angle / (180.0 / M_PI), 0.0f, 1.0f, 0.0f); self.selectedController.view.layer.transform = rotationAndPerspectiveTransform; 

Но когда я ставил их вместе, это одно или другое. Какое бы ни было второе, это тот, который работает. Я не могу заставить их сосуществовать.

Что я могу сделать, чтобы они могли работать вместе? Или существует совершенно другой подход, который лучше подходит для того, что я пытаюсь сделать?

PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.