gpt4 book ai didi

iphone - 如何增量旋转 UIImageView?

转载 作者:行者123 更新时间:2023-12-03 20:27:00 24 4
gpt4 key购买 nike

我需要在图像中多次旋转 90 度,我使用以下代码,

CGAffineTransform transform = CGAffineTransformMakeRotation(PI/2);
shape.transform = transform;

这里的形状是我的 UIImageview。

问题是每次我单击旋转按钮时,它都会从原始位置旋转它,这不是我想要的。我希望它从新位置旋转。

我是 iPhone 编程新手,如果我遗漏了一些非常基本的东西,我深表歉意,并提前感谢您的帮助。

基达

最佳答案

如果您尝试设置此旋转的动画,您可能需要阅读 my answerthis question ,有人试图为 View 的增量旋转设置动画。事实证明,使用 CABasicAnimations 进行变换的增量动画比您预期的要复杂一些。您首先需要从 UIView 层的presentationLayer 中读取其当前变换,然后将其作为 fromValue 提供给您的动画。

但是,在您的情况下,您似乎正在使用 UIView 动画 block 来为 View 的转换属性设置动画。您编写的代码只会继续将 View 的变换设置为相同的 90 度旋转,而不会以 90 度为增量旋转 View 。要进行增量轮换,我相信您需要类似以下内容:

CGAffineTransform transform = CGAffineTransformRotate(shape.transform, M_PI / 2.0f);
shape.transform = transform;

它将获取 View 的当前变换,将其旋转 90 度,然后将生成的变换应用到 View 。同样,这可能会遇到与 CABasicAnimations 相同的问题,在这种情况下,您应该引用上面链接的答案。

关于iphone - 如何增量旋转 UIImageView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1618751/

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