【问题标题】:Rotating image also stretches or shrinks on iPhone旋转图像也会在 iPhone 上拉伸或缩小
【发布时间】:2025-12-19 08:45:11
【问题描述】:

我尝试旋转我的图像:

UIImageView *image;
image.transform = CGAffineTransformMakeRotation(0.0175*degrees);
// 0.0175 = pi/180 = 1 degree in radians

如果例如

degrees = 90*x // x = 1,2,3,4 

没关系,但是当degrees = 45 图像突然变得很薄,在其他情况下它也会拉伸或收缩。 这可能是什么原因?

我也试过

CGAffineTransform transform=CGAffineTransformRotate(image.transform, degrees);
image.transform = transform;

结果相似。

编辑:我也尝试过image.contentMode = UIViewContentModeScaleAspectFill;,但后来它变得很大

【问题讨论】:

  • 不要使用transform.image,它通常会在旋转或缩放时改变图像的尺寸......你能提供完整的代码而不是补丁吗?
  • 第一个代码sn -p其实就是完整的代码。

标签: iphone objective-c xcode uiimageview rotation


【解决方案1】:

你设置了边界和中心吗?尝试这样,但使用您的指标:

    CGRect bounds = CGRectMake(0, 0, 20, 200);
    CGPoint center = CGPointMake(myrectr.origin.x + (bounds.size.width / 2.0f),
    imageViewRect.origin.y + (bounds.size.height / 2.0f) + 100.0f);

    [imageView setTransform:CGAffineTransformIdentity];

    [imageView setCenter:center];
    [imageView setBounds:bounds];

    [imageView setTransform:CGAffineTransformMakeRotation(M_PI / 4.0f)];

【讨论】:

  • 我仍然遇到问题......还有其他选择吗......请帮助我@Tutankhamen