Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在不更改中心X位置的情况下旋转图像视图_Ios_Objective C - Fatal编程技术网

Ios 如何在不更改中心X位置的情况下旋转图像视图

Ios 如何在不更改中心X位置的情况下旋转图像视图,ios,objective-c,Ios,Objective C,我想使用以下命令旋转图像视图: CGFloat degrees = -20.0f; //the value in degrees CGFloat radians = degrees * M_PI/180; _arrowImgView.transform = CGAffineTransformMakeRotation(radians); 它确实会旋转,但不幸的是,它确实会旋转整个图像,将其向上移动。请看屏幕截图: 在第二个屏幕截图中,您可以看到图像向上移动并更改了X坐标。如何

我想使用以下命令旋转图像视图:

CGFloat degrees = -20.0f; //the value in degrees
    CGFloat radians = degrees * M_PI/180;
    _arrowImgView.transform = CGAffineTransformMakeRotation(radians);
它确实会旋转,但不幸的是,它确实会旋转整个图像,将其向上移动。请看屏幕截图:

在第二个屏幕截图中,您可以看到图像向上移动并更改了X坐标。如何像时钟箭头一样简单地弯曲它

更新: 我将代码更改为:

self.arrowImgView.layer.anchorPoint = CGPointMake(0.0f, 0.0f);
    CGFloat degrees = -20.0f; //the value in degrees
    CGFloat radians = degrees * M_PI/180;
    self.arrowImgView.transform = CGAffineTransformMakeRotation(radians);

我还想注意,我确实设置了这样的约束:

 [_arrowImgView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.bottom.equalTo(self);
        make.centerX.equalTo(self.mas_centerX);
    }];
试试这个代码

imageView.layer.anchorPoint = CGPointMake(0.0f, 0.0f);
imageView.transform = CGAffineTransformMakeRotation(angle);
参考资料:

编辑

我在swift中尝试了下面的代码它在这里工作

self.viewRotate.layer.anchorPoint = CGPoint(x: 0, y: 0)
    let degree : CGFloat = -20.0
    let rad : CGFloat = degree*CGFloat(M_PI/180)
    viewRotate.transform = CGAffineTransform(rotationAngle: rad)
输出

轮换前

旋转后


您是否检查过位置是否发生了变化?从屏幕截图上很难说,但看起来它实际上并没有向上移动——看起来可能是这样,因为你的图像看起来是这样的。@Losiowaty不,我没有。你的意思是什么?首先,你可以简单地检查旋转前后
\u arrow imgview.center
的值。@Losiowaty center x没有改变(在我的例子中是47)。那么
center.y
呢?