IOS - 如何在某种程度上旋转图像

时间:2016-10-28 10:14:36

标签: ios objective-c cgaffinetransform

我想用一些角度旋转图像,如下图所示。

enter image description here

我正在尝试使用

CGAffineTransform t = CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(degrees));
imageView.transform = t;

我没有得到这样的输出。即使我对此并不亲近。

3 个答案:

答案 0 :(得分:0)

在应用其他变换之前通过变换重置...

imageView.transform = CGAffineTransformIdentity  
// i hope your angle is proper calculate
CGAffineTransform t = CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(degrees));
imageView.transform = t;

希望它能帮到你

答案 1 :(得分:0)

以下是我用于将图像旋转30度的代码

 UIImageView *imgView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 20, 320, 400)];
 imgView.image = [UIImage imageNamed:@"maxresdefault.jpg"];
 [self.view addSubview:imgView];
 float degrees = 30.0f;
 float radians = (degrees* M_PI/180);
 imgView.layer.transform = CATransform3DMakeRotation(radians, 0, 0, 1.0);

转换前的模拟器ScreenShot

enter image description here

这是变换后的模拟器ScreenShot

enter image description here

希望这可以帮助你。

答案 2 :(得分:0)

您可以在swift

中更改如下所示的layer.transform
imageView?.layer.transform = CATransform3DMakeAffineTransform(CGAffineTransform(rotationAngle: CGFloat(M_PI_2)))

对于目标C:

imageView.layer.transform = CATransform3DMakeAffineTransform(CGAffineTransformMakeRotation(M_PI_2));