在搜索并阅读了苹果的文档后,我决定向那里的专家寻求帮助。我已经在我的简单uiview中添加了动画,将其评为法式向外的门。它适用于文件,但在动画期间和之后的视图将变得透明。当我对2D动画执行相同操作时,视图将保持不透明。
如何保持视图背景不透明?除了.m34透视之外,我还需要设置其他.mxx值吗
我的代码如下:
{
[self setAnchorPoint:CGPointMake(1.5,0.5) forView:mainView];
...
[UIView animateWithDuration:.5
animations:
^{
CATransform3D leftTransform = CATransform3DIdentity;
leftTransform.m34 = -1.0f/500; //dark magic to set the 3D perspective
leftTransform = CATransform3DRotate(leftTransform, - M_PI_2/2.2, 0, 1, 0);
mainView.layer.transform = leftTransform;
}
completion:^(BOOL finished) {
if (finished) {
...
}
}];
}
将zposition设置为足够大的值,以便旋转的视图在层次结构中保持在其上方。
在上面的代码中,插入此代码
mainView.layer.zPosition = -600;
这将修复动画。