iOS iPhone:为什么我的图像旋转会使图像偏斜?

时间:2013-02-16 11:44:14

标签: iphone ios image rotation constraints

我已经在互联网上搜索了如何在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 degrees 120 degrees and skewed

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

经过大量工作后,我发现约束与倾斜有关。 NESW环(罗盘玫瑰?)是一个图像,我居中在另一个图像,即罗盘框架。并且使用这些图像来处理文本字段也是以图像为中心。

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

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

任何想法如何对付这个?

1 个答案:

答案 0 :(得分:1)

关闭自动布局。选择xib或storyboard,然后在File Inspector(右侧窗格的第一个)中,有一个“use autolayout”复选框。取消选中它(默认情况下处于启用状态)。

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

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