gpt4 book ai didi

ios - UIView:如何进行 "reset"转换。 CGAffineTransformScale 没有像我预期的那样工作

转载 作者:技术小花猫 更新时间:2023-10-29 11:09:48 24 4
gpt4 key购买 nike

我认为我的问题可以概括为如何存储和重置 View 的变换。但也许解释我的情况可能会有所帮助。

如果我将下面的转换一个接一个地应用到 View (就像我将此代码添加到开关或按钮)。我得到了我期望的结果:比例在以下之间切换:原始 View 大小的 0.55 倍的 View ,以及原始比例的 View 。也可以按照我的意愿缩放 someView 的 subview 。无穷无尽。完美的。

//tranformScale 1
someView.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.55, 0.55 );
//tranformScale 2
someView.transform = CGAffineTransformScale(CGAffineTransformIdentity, 1.0, 1.0 );

问题是我想使用此代码(或类似代码)在 iOS 设备进入横向时缩放 self.view 的 subview ,以使 subview 适合横向屏幕(并在进入时备份肖像)。它几乎可以工作,但由于某种原因,而不是为正在缩放的​​ View 的框架输出圆形值(就像使用按钮调用变换的测试所发生的那样),逐渐产生奇怪的值。最终,经过大约 4 次旋转后, subview 飞出屏幕。我怀疑它与 self.view 改变形状有关,但话又说回来,当我记录 self.view 的框架时,它的形状是非常可预测的。

顺便说一下 我使用 autoresizingMask 灵活边距使 View 居中,而不是使用自动布局。也许我应该用另一种类型的计算使 View 居中?

感谢阅读!

最佳答案

我这样做了,而且效果很好。

self.imageview.transform = CGAffineTransformIdentity

关于ios - UIView:如何进行 "reset"转换。 CGAffineTransformScale 没有像我预期的那样工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14216044/

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