gpt4 book ai didi

ios - 平移/调整大小/旋转后在 UIImageView 上重新创建相同的转换

转载 作者:行者123 更新时间:2023-11-29 12:43:26 25 4
gpt4 key购买 nike

我有一个问题让我“头疼”,希望有人能帮助我。

我有一个 UIView,上面显示了一个包含图像的子 UIImageView。

使用手势,我可以平移、缩放和旋转该图像。在此过程中, anchor 可能会发生变化,以确保缩放/旋转是手势的两个手指之间的点。 CGAffineTransforms 用于实现此目的并且效果很好。

我的问题是在销毁并重新创建封闭的 View Controller 时存储和重新创建转换。

当我离开那个 View 时,我存储变换和框架...

-(CGAffineTransform)imageViewTransform
{
return self.testImageView.transform;
}

-(CGRect)imageViewFrame
{
return self.testImageView.frame;
}

....当我重新创建该 View 时,我设置了我的 imageView 的框架和变换...

self.imageView.transform = mySavedTransform;
self.imageView.frame = mySavedFrame;

这有效,我可以移动和拉伸(stretch)我的图像,然后在下次重新创建。

但是,如果我旋转我的图像,重新创建的图像帧会以正确的角度但会被拉伸(stretch)而不是在原始坐标处,所以我无法得到我保存的确切内容。

在变换之前设置帧对旋转有同样的不良影响。

我的问题是为什么我不能使用上述技术重新创建精确缩放、旋转和定位的 UIImageView?

确定复制帧和变换会产生预期的效果吗?

这是执行此操作的常用方法,还是我遗漏了什么?

感谢任何帮助。

最佳答案

对于那些感兴趣的人,这是排序的。

问题是没有存储 anchor ,以及使用中心重建图像。因此,为了忠实地再现变换,您似乎需要存储中心、变换和 anchor 。

HTH

关于ios - 平移/调整大小/旋转后在 UIImageView 上重新创建相同的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24282465/

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