gpt4 book ai didi

ios - 使用 CATransform3DRotate 制作动画

转载 作者:可可西里 更新时间:2023-11-01 04:43:32 24 4
gpt4 key购买 nike

我的代码在下面,但是动画是立即发生的,即 View 不再可见:

UIView *leftDoorView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width /2, self.view.bounds.size.height)];      
leftDoorView.backgroundColor = [UIColor greenColor];
leftDoorView.layer.anchorPoint = CGPointMake(0.0, 0.5);
[self.view addSubview:leftDoorView];

leftDoorView.center = CGPointMake(0.0, self.view.bounds.size.height/2.0); //compensate for anchor offset

CATransform3D transform = CATransform3DIdentity;
transform.m34 = -1.0f/500.0;
transform = CATransform3DRotate(transform, M_PI_2, 0, 1, 0);

[UIView animateWithDuration:1.0 animations:^{

leftDoorView.layer.transform = transform;
}];

不确定我做错了什么 - 请提供任何帮助。

最佳答案

问题原来是其他 View 层的 zPositions - 很可能是由 View 层次结构中的 UITableView 引起的。

设置是一个 UIViewController,它在 viewDidLoad 中将标题 UIImageView 和 UITableView 添加到它自己的 View 中。然后将动画最后添加到其他 View 之上。似乎 UITableView 以某种方式修改了图层的 zPositions,所以只有在最终尝试 leftdoorView.layer.zPosition = 1000; 并将实际动画移动到单独的选择器后 viewDidLoad 执行 0.2 秒后动画才能正确显示.

关于ios - 使用 CATransform3DRotate 制作动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33887975/

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