我正在尝试为图层底部向上翻转的图层创建动画。想象一个铰接在顶部的视图,然后底部动画向上。就像一个紧凑的封面。我想要的是标准的翻转动画,但只能看到它的一侧。我只是在构建动画时遇到了麻烦。
问题是我得到了正确的动画接受我似乎无法创建“铰链”部分。也就是说,铰链位于中心而不是顶部。我错过了什么?
这是代码:
[UIView animateWithDuration:2.0 delay:0.0 options:UIViewAnimationOptionCurveEaseIn animations:^{
CATransform3D frontTransform = CATransform3DIdentity;
frontTransform.m34 = 1.0 / -850.0;
CATransform3D rotation = CATransform3DRotate(frontTransform, M_PI/2, 1.0, 0.0, 0.0);
frontTransform = CATransform3DTranslate(frontTransform, 0.0, 0.0, menuView.bounds.size.height);
frontTransform = CATransform3DConcat(rotation, frontTransform);
menuView.layer.transform = frontTransform;
}completion:^(BOOL finished){
if (finished) {
[self.window sendSubviewToBack:menuView];
CATransform3D backTransform = CATransform3DIdentity;
backTransform.m34 = 0.0f; //Must be first before setting any other properties.
backTransform = CATransform3DRotate(backTransform, M_PI, 0.0, 0.0, 0.0);
backTransform = CATransform3DTranslate(backTransform, 0.0, 0.0, 0.0);
menuView.layer.transform = backTransform;
}
}];
我正在尝试如上所述为图层设置动画,然后在完成时将图层的视图发送到所有其他视图后面,并将图层返回到其原始状态,以便稍后将其带到前面。
谢谢您的帮助!