gpt4 book ai didi

ios - 如何在 3D 中旋转 UIView?

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:01:14 26 4
gpt4 key购买 nike

我的任务很简单,但我无法理解 CATransform3DRotate。我有 3 个高度和宽度相等的 UIImageView,我需要为下一个结果的左右项目设置一些转换: https://dl.dropboxusercontent.com/u/15196617/result.png

原画面: https://dl.dropboxusercontent.com/u/15196617/original.png

我的来源:

CATransform3D transform = CATransform3DIdentity;
transform.m34 = -1.f / self.prevItemImageView.bounds.size.width;
transform = CATransform3DRotate(transform, (CGFloat) -(M_PI / 3.f), 0, 1.f, 0);
self.prevItemImageView.layer.anchorPoint = CGPointMake(1.f, 0.5f);
self.prevItemImageView.layer.transform = transform;

transform = CATransform3DIdentity;
transform.m34 = -1.f / self.nextItemImageView.bounds.size.width;
transform = CATransform3DRotate(transform, (CGFloat) (M_PI / 3.f), 0, 0.5f, 0);
self.nextItemImageView.layer.anchorPoint = CGPointMake(0.f, 0.5f);
self.nextItemImageView.layer.transform = transform;

这是行不通的。

最佳答案

您要做的是将具有更改后的 .m34 组件的转换应用到 ImageView 的超层,作为 sublayerTransform。这就是使 ImageView 的变换具有深度外观的原因。

这张图片一开始是一个正方形。但它在 3D 中看起来是旋转的,因为它的超层有一个 sublayerTransform:

enter image description here

关于ios - 如何在 3D 中旋转 UIView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30078855/

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