这可能听起来像一个奇怪的问题,但我想要做的并不是很奇怪。我目前正在通过视图的CGAffineTransform调整UIView的大小,如下所示:
self.selectedController.view.transform = CGAffineTransformScale(CGAffineTransformIdentity, resizeRatioValue, resizeRatioValue);
其中resizeRatioValue是介于0.7-1.0之间的值,具体取决于手势的位置。这非常有效。通过平移手势,我能够精美地缩小我的视野。
现在,我想补充一点。随着视图缩小,我想对视图应用旋转(类似于coverflow效果),以便它同时旋转和收缩 。
我可以使用this代码轻松旋转视图:
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;
但是当我将这两者放在一起时,它就是其中之一。无论哪一个出现在第二个是有效的。我不能让他们共存。
我能做些什么才能让它们一起工作?或者是否有一种完全不同的方法更适合我想做的事情?