gpt4 book ai didi

objective-c - UILayer自定义 'compact'动画,求主播帮助

转载 作者:行者123 更新时间:2023-11-28 19:23:58 26 4
gpt4 key购买 nike

我正在尝试为图层底部向上翻转的图层创建动画。想象一个铰接在顶部的 View ,然后按钮向上和向外动画。就像一个紧凑的封面。我想要的就像标准的翻转动画,但只看到它的一侧。我只是在构建动画时遇到问题。

问题是我的动画正确接受我似乎无法创建“铰链”部分。也就是说,铰链位于中心而不是顶部。我错过了什么?

代码如下:

   [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;
}
}];

我正在尝试如上所述为图层设置动画,然后在完成时将图层的 View 发送到所有其他 View 的后面,并将图层返回到它的原始状态,以便稍后我可以将它放在前面。

感谢您的帮助!

最佳答案

你试过把CALayer的 anchor 设置到顶部吗?在顶部中间点:

menuView.layer.anchorPoint = CGPointMake(CGRectGetWidth(menuView.bounds)/2, 0.0);

关于objective-c - UILayer自定义 'compact'动画,求主播帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6038348/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com