2 iphone objective-c uiimageview
我需要在90度内多次旋转图像我使用下面的代码,
CGAffineTransform transform = CGAffineTransformMakeRotation(PI/2);
shape.transform = transform;
Run Code Online (Sandbox Code Playgroud)
这里的形状是我的UIImageview.
问题是每次我点击旋转按钮它会将其从原始位置旋转,这不是我想要的.我想从新的位置旋转.
我是iphone编程的新手,如果我缺少一些非常基本的东西,请提前道歉,并提前感谢您的帮助.
基达
如果您想要进行动画这种旋转,你可能想要看我的回答到这个问题,如果有人试图以动画视图的增量旋转.事实证明,使用CABasicAnimations进行变换的增量动画比您预期的要复杂一些.首先需要从其presentationLayer中读取UIView图层的当前变换,然后将其作为fromValue提供给动画.
但是,在您的情况下,您似乎正在使用UIView动画块来为视图的transform属性设置动画.您编写的代码只会将视图的变换设置为相同的90度旋转,它不会逐渐将视图旋转90度.要进行增量轮换,我相信您需要以下内容:
CGAffineTransform transform = CGAffineTransformRotate(shape.transform, M_PI / 2.0f);
shape.transform = transform;
Run Code Online (Sandbox Code Playgroud)
它将获取视图的当前变换,将其旋转90度,然后将生成的变换应用于视图.同样,这可能会遇到与CABasicAnimations相同的问题,在这种情况下,您应该查阅上面链接的答案.
| 归档时间: |
|
| 查看次数: |
2115 次 |
| 最近记录: |