3

我在互联网上搜索了如何在 UIImageView 中旋转图像而不会使图像倾斜。我测试过的例子都没有奏效。所以我必须在这里发布一个具体的问题。

我的旋转代码如下所示。结果显示在我链接到的图像中(对于 5 岁以下的代表,我无法在帖子中附加图像)。我在其中输入了角度值,图像显示了图像在旋转后是如何结束的。

旋转适用于 0、90、180 和 270 度。其他一切都会扭曲图像。

self rotateImage:_compassScale duration:1 curve:UIViewAnimationCurveEaseIn degrees:(CGFloat)bearing];

.

- (void)rotateImage:(UIImageView *)image duration:(NSTimeInterval)duration curve:(int)curve degrees:(CGFloat)degrees
{
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:duration];
    [UIView setAnimationCurve:curve];
    [UIView setAnimationBeginsFromCurrentState:YES];

    CGAffineTransform transform = CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(-degrees));
    image.transform = transform;


    [UIView commitAnimations];
}

90度 120度和歪斜

如果您将 URL 更改为 Im1、Im4 和 Im5,则还有 3 个图像。代表不允许发布超过 2 个链接。

经过大量工作,我发现约束与倾斜有关。NESW 环(罗盘玫瑰?)是我以另一幅图像为中心的图像,即罗盘框架。与这些图像一起的是同样以图像为中心的文本字段。

如果我将 NESW 环拖到屏幕上的另一个位置,图像不会倾斜。但它会在屏幕上四处移动。

我移动了所有 3 个项目,然后将它们拖回屏幕上的原始坐标。不再有任何倾斜。但是,当我更改文本字段中的角度时,两个图像的位置都会发生一些变化,并且变化似乎并未表明环的位置变化与框架的位置通道相连。奇怪的是我没有移动指南针框架的代码!

有什么想法可以解决这个问题吗?

4

1 回答 1

1

关闭自动布局。选择 xib 或故事板,在文件检查器(右侧窗格的第一个)中有一个“使用自动布局”复选框。取消选中它(默认情况下它是打开的)。

然后你应该得到预期的结果。

除非您有理由使用它,否则您应该始终关闭自动布局。

于 2013-02-16T14:34:32.097 回答