2010-11-25 55 views
1

我正在定期旋转UIImageView。我的观点非常基本,是UITabBar视图集中的一个视图。如果我在我的旋转动画时旋转我的iPad,那么我的图像就会变形。我已经在我的xib文件中检查了我的图像中的所有内容,autoresizing已完全关闭,并且我没有在父视图上自动调整子视图的大小。自动旋转和UIImageView动画的问题

这里是我的动画代码:

  [UIView beginAnimations:nil context:nil]; 
      [UIView setAnimationDuration:0.5]; 
      [UIView setAnimationDelay:0.0]; 
      transform = CGAffineTransformMakeRotation(convertToRadian(myDegrees)); 
      myImage.transform = transform; 
      [UIView commitAnimations]; 

如果我把我的动画出来,然后一切正常,我期望的那样。如果我不旋转我的设备,此旋转代码似乎可以正常工作。

我能做些什么来保持内置的旋转动画不会改变我的动画并扭曲我的图像?

回答

0

经过许多不同的尝试,我最终在这里做的是在其中添加一个清晰的视图,并在其中添加旋转图像,并在界面构建器中将“自动调整大小子视图”设置为关闭。您也可以根据需要在代码中执行此操作。我不得不添加UIView占位符,因为包含我的旋转图像的超级视图需要在旋转时自动调整其他视图对象的大小,但是这样可以修复由于动画方向变化而造成的图像时髦倾斜,同时动画手动旋转到位。

希望这可以帮助别人。

0

坐标系发生变化。我也想到了这一点...认为我有一个错误。如果您保存CG ... GState,则可以恢复到最初使用的坐标系。这是在Deitel和Deitel的书中。我刚刚找到它。想要发布给任何人也期待。

虽然你有一个聪明的把戏!如果这不起作用,我可能会使用它。