围绕其中心点旋转UIImageView吗?

埃里克

我要在UIImageView(self.myImage)中有一个透明的png ,我想绕其中心点旋转。代码应该非常简单:

[self.myImage.layer setAnchorPoint:CGPointMake(0.5, 0.5)];
[UIView animateWithDuration:1.0 animations:^{
    [self.myImage setTransform:CGAffineTransformMakeRotation(angle)];
}];

图像以正确的速度/时间和正确的角度旋转,但是其位置发生了偏移。这是正在发生的事的一个例子:

在此处输入图片说明

灰色方块仅用于显示屏幕上的位置。另一个是透明png(包含在UIImageView中)。白色虚线表示UIImageView的中心。图像的左侧显示图像的原始位置,右侧显示使用上述代码旋转后的图像(该图像向右下移一点)。黑白圆圈位于图像文件的中心。

有什么我想念的吗?据我了解,上面的第一行不是必需的,因为它们是默认值。我是否必须以编程方式设置/取消情节提要中的某些内容?

埃里克

我发现完成我需要的代码比@Albin Joseph给出的代码简单,但这确实为我指明了正确的方向。我的动画需要从停下来的地方拾取并旋转到新位置。有时会设置动画,有时则不会。因此代码如下:

CGFloat duration = animated ? 0.5 : 0.01;

CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
animation.fromValue = [[self.turnIndicatorImage.layer presentationLayer] valueForKeyPath:@"transform.rotation.z"];
animation.toValue = angle;
animation.duration = duration;
animation.fillMode = kCAFillModeForwards;
animation.repeatCount = 0;
animation.removedOnCompletion = NO;
animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
[self.turnIndicatorImage.layer addAnimation:animation forKey:@"transform.rotation.z"];

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

iOS:如何围绕中心点旋转UIImageView?

来自分类Dev

Android动画可围绕其中心点旋转图像

来自分类Dev

Qt围绕其中心点旋转文本

来自分类Dev

围绕容器的中心点旋转图像

来自分类Dev

HTML5围绕其中心点旋转文本

来自分类Dev

如何在python中围绕中心点旋转图形

来自分类Dev

Android通过裁剪角点围绕中心点旋转位图

来自分类Dev

我可以绕其中心点顺时针旋转D3地图投影吗?

来自分类Dev

如何围绕字形的垂直中间或中心点应用CSS旋转过渡

来自分类Dev

从中心点折叠UIImageView

来自分类Dev

从中心点调整UIImageView的大小

来自分类Dev

当对象最初由其中心旋转时,围绕该点旋转对象

来自分类Dev

如何相对于其中心点旋转或缩放(变换)SVG路径?

来自分类Dev

SVG动画围绕其中心旋转组

来自分类Dev

LibGDX 1.5围绕其中心旋转的精灵

来自分类Dev

如何围绕其中心旋转PShape?

来自分类Dev

围绕其中心旋转绘制的文本

来自分类Dev

[AS3]围绕其中心旋转雪碧

来自分类Dev

围绕其中心旋转多边形

来自分类Dev

围绕中心点绘制多边形

来自分类Dev

如何围绕环中的中心点绘制圆形按钮?

来自分类Dev

旋转动画不会使资产在中心点旋转

来自分类Dev

在Unity C#中绕中心点旋转

来自分类Dev

WPF从中心点以角度旋转线

来自分类Dev

围绕其中心旋转自定义图像

来自分类Dev

围绕其中心旋转SCNText节点(Swift-Scenekit)

来自分类Dev

使用CABasicAnimation围绕其中心旋转CAShapeLayer弧

来自分类Dev

围绕其中心旋转UIView并保持其大小

来自分类Dev

SFML-使用“变换”围绕其中心旋转精灵