2013-02-16 125 views
3

我已经在互联网上搜索了解如何在UIImageView中旋转图像,而不会出现图像偏斜的情况。 我测试的例子都没有成功。所以我必须在此发布具体问题。iOS iPhone:为什么我的图像旋转歪斜图像?

我的旋转代码如下所示。 结果显示在我链接到的图像中(使用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

有3倍以上的图像,如果你改变的URL IM1,IM4和IM5。 Rep不允许发布更多2个链接。

经过大量工作后,我发现约束条件与偏差有关。 NESW环(指南针玫瑰?)是一个图像,我集中在另一个图像是指南针框架。用这些图像拼成的文本字段也与图像居中。

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

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

任何想法如何对付这个?

+0

关闭约束听起来像是一个好开始......你的应用需要自动布局吗? – foundry 2013-02-16 12:54:57

+0

不,它不需要它。它只是肖像。当我发现如何关闭约束时,我确实已经开始工作。我如何将此帖标记为已解决? – user2078203 2013-02-16 14:30:49

+0

我已经回答了这个问题,你可以勾选它。 – foundry 2013-02-16 14:36:23

回答

1

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

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

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