使用CGAffineTransformMakeRotation以相同的中心点旋转UIImageView

Mat*_*rey 5 objective-c rotation uiimageview cgaffinetransform

我正在尝试旋转UIImageView并使其保持居中.在下图中,我希望旋转的箭头(红色十字准线)中心点与0°箭头(蓝色十字线)的中心点匹配.

我尝试了各种锚点,但我似乎无法按照我的意愿行事.

// Rotate
self.arrowRotatedImageView.layer.anchorPoint = CGPointMake(0.5,0.5);
CGFloat angle = 45 * (M_PI/180);
self.arrowRotatedImageView.transform = CGAffineTransformMakeRotation(angle);
Run Code Online (Sandbox Code Playgroud)

我错过了什么?我正在阅读Apple文档, 但我无法弄明白.

在非旋转箭头顶部旋转箭头的iPhone屏幕截图

Mat*_*rey 6

原来奇怪的旋转问题与新的iOS 6自动布局功能有关.一旦我花了一些时间来理解对齐约束如何工作,我就能够实现我想要的结果.

如果您遇到奇怪的轮换问题并且正在使用启用了autolayout的iOS 6,那么您的约束需要调整.

关键是在旋转的父视图中垂直和水平居中旋转图像.

  • 如果你分享你所学到的关于约束的知识来解决这个问题会很好.:) (9认同)
  • 是的,同上.我一直在寻找问题. (2认同)