我正在尝试创建一个翻转瓦片效果,就像在Windows Phone 7上一样。
到目前为止,我有以下代码,但我有几个问题。
CALayer *layer = self.theRedSquare.layer;
CATransform3D initialTransform = self.theRedSquare.layer.transform;
initialTransform.m34 = 1.0 / -1000;
[UIView beginAnimations:@"Scale" context:nil];
[UIView setAnimationDuration:1];
[UIView setAnimationCurve: UIViewAnimationCurveEaseInOut];
layer.transform = initialTransform;
layer.anchorPoint = CGPointMake(-0.3, 0.5);
CATransform3D rotationAndPerspectiveTransform = self.theRedSquare.layer.transform;
rotationAndPerspectiveTransform = CATransform3DRotate(rotationAndPerspectiveTransform, M_PI , 0 , -self.theRedSquare.bounds.size.height/2, 0);
layer.transform = rotationAndPerspectiveTransform;
[UIView setAnimationDelegate:self];
[UIView commitAnimations];
1. 为什么我的红色正方形(一个简单的UI视图)在动画开始时向右移动了?
2. 对于锚点,是否可以在父视图上设置位置?目前我是任意地相对于当前视图设置它。
感谢您提供任何指导。
动画之前
动画期间(注意正方形已经向右移动)
动画之后(注意正方形已经向右移动)
视频链接: 示例视频